VBGood网站全文搜索 Google

搜索VBGood全站网页(全文搜索)
首页 - 经验之谈 - 利用VB组件实现WEB方式下对NT域用户口令的修改
发表评论(0)作者:吴强, 平台:VB6.0+Win98, 阅读:8496, 日期:2001-04-03
---- 近几年来,计算机网络技术得到迅猛发展。Windows NT网络操作系统以其可管理性、可用性和丰富的应用软件赢得了越来越多的用户。虽然NT的用户管理非常容易,也有其局限性。例如UNIX下利用Telnet远程修改用户口令非常简单,但是NT就没有这么容易。我们利用NT建立了代理服务器、邮件服务器,管理用户口令自然也遇到了这个问题。本文中我们要创建的是一个在浏览器里管理NT域用户的程序,解决了这个难题。

---- 1、 应用实现的环境:

---- 服务器:应用创建工具:客户:

... ...

---- 2、 利用创建ActiveX DLL 组件。

... ...

' 定义 MTS对象上下文变量
Dim objCtx As ObjectContext

' 定义 IIS对象

' PDC事务日志API


... ...


' 常量


... ...


' 引用MTS对象


... ...

' 释放事务
Call ReleaseObjectReferences
End Sub

---- (10)添加一个函数取得系统的真实域控制器名:

... ...

---- (11)添加一个过程向PDC的应用程序日志加一个记录:

... ...

---- (12)新增一个过程,构造了一个警告框,注意他是在浏览器端被显示的,我们用了jscript,因为他是浏览器无关的:

... ...

---- (13)过程 GetObjectReferences 产生一个对MTS的引用,要使用MTS功能,就必须引用他:

Private Sub GetObjectReferences()


... ...

---- (14)释放对象:

... ...

---- (15)在上面的代码全部完成后,生成aciChangPassword.dll文件。

---- 3、 在服务器上安装组件

---- 首先拷贝aciChangPassword.dll到NT服务器的 \winnt\system32 目录中。打开MTS Explorer, 双击“我的计算机”,右击“安装的软件包”,选“新” - > “软件包”,接下来的对话框,选“创建一个空的软件包”, 给包名命为 aciChangePassword ,单击下一步,指定运行包的帐号,使用管理员帐号即可。

---- 双击刚才创建的包,展开,右击“组件”,选.“新”-- >“组件”,安装新的组件。添加文件,浏览,选中刚才拷贝的文件 aciChangePassword.dll (\winnt\system32) ,确认。选中复选框“详细资料”,查看下面的列表框,应当看到组件名。确认后,修改属性,事务里选择“需要一个事务处理”。

---- 直此,组件安装完成。

---- 4、 创建ASP页面(setpass.asp)

... ...

---- 5、 创建HTML文件(change.htm)

... ...

---- 6、 最后的测试

---- 在浏览器中打开change.htm文件。表单包括四个文本框:用户名,旧口令,新口令,确认口令。当按下更改按钮后, ASP文件取得这四个参数,创建对象,引用setpass过程,修改口令。成功后系统会立即修改NT域用户的口令,并且提示。若用户名和旧口令不能登录,则拒绝修改。

---- 无论修改是否成功,都向NT服务器报告一个事件。可以打开事件查看器检查。