当前位置: 网学 > 编程文档 > VB > 正文

利用VB组件实现WEB方式下对NT域用户口令的修改

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/16
下载{$ArticleTitle}原创论文样式

摘 要  利用vb完成一个组件,注册到NT SERVER的MTS中。在asp中使用了DLL中所包含的组件,完成浏览器对NT 域用户口令的修改。
关 键 词 ASP,ADSI,MTS,WEB 服 务 器,浏 览 器

近几年来,计算机网络技术得到迅猛发展。Windows NT网络操作系统以其可管理性、可用性和丰富的应用软件赢得了越来越多的用户。虽然NT的用户管理非常容易,也有其局限性。例如UNIX下利用Telnet远程修改用户口令非常简单,但是NT就没有这么容易。我们利用NT建立了代理服务器、邮件服务器,管理用户口令自然也遇到了这个问题
本文中我们要创建的是一个在浏览器里管理NT域用户的程序,解决了这个难题。

1、 应用实现的环境:
服务器:
Windows NT Server  4.0
IIS 4.0       (Internet Information Server,包含在NT Option Pack  4.0内)
MTS 2.0     (Microsoft Transaction Server,包含在NT Option Pack  4.0内)
ADSI 2.5   (Active Directory Services Interfaces ,到微软站点下载
ASP   (IIS4.0本身就支持,不需单独安装)

应用创建工具:

VB 6.0    (用来创建ActiveX DLL 服务器组件)
HTML 编辑器  (用来创建ASP 表单)

客户:
Windows 98
IE4.0

2、 利用创建ActiveX DLL 组件。
  (1)起动VB ,创建一个新的ActiveX DLL project。
  (2)将缺省名Project1 改名为 aciChangePassword。
  (3)将class 模块 Class1 改名为 Main。
  (4)将Main的instancing 属性值改为 5 – MultiUse。
  (5)将Threading 模式改为Apartment Threaded。
  (6)Project->reference菜单,将Microsoft Active DS Type Library (activeds.tlb)与Microsoft Transaction Server Type Library (mtxas.dll)选中。如果没有这两个文件,可以到其它计算机上去拷贝一个。
   (7)将Project保存。Class命名为“main.cls”,Project命名为“aciChangePassword.vbp”。
   (8)下面的代码放到General declarations 里面。
Option Explicit
'' 定义 MTS对象上下文变量
Dim objCtx As ObjectContext

'' 定义 IIS对象
Dim objApplication As Object
Dim objRequest As Object
Dim objResponse As Object
Dim objServer As Object
Dim objSession As Object

'' PDC事务日志API
Private Declare Function RegisterEventSource _
Lib "advapi32.dll" Alias "RegisterEventSourceA" _
(ByVal lpUNCServerName As String, ByVal lpSourceName As String) As Long

Private Declare Function DeregisterEventSource  Lib "advapi32.dll" (ByVal hEventLog As Long) As Long

Private Declare Function ReportEvent  Lib "advapi32.dll" Alias "ReportEventA" _
(ByVal hEventLog As Long, ByVal wType As Integer, _
ByVal wCategory As Integer, ByVal dwEventID As Long, _
ByVal lpUserSid As Any, ByVal wNumStrings As Integer, _
ByVal dwDataSize As Long, plpStrings As Long, lpRawData  As Any) As Boolean

Private Declare Function GetLastError Lib "kernel32" () As Long

Private Declare Sub CopyMemory  Lib "kernel32" Alias "RtlMoveMemory" _
(hpvDest As Any, hpvSource As Any, ByVal cbCopy As Long)

Private Declare Function GlobalAlloc _
Lib "kernel32&q
  • 上一篇资讯: 五彩缤纷的清屏效果
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号