【发布时间】:2013-10-17 19:21:31
【问题描述】:
我正在创建一个 ASP 应用程序,以允许用户通过 SSL 连接更改其活动目录密码。
我终于搞定了这一切,但我用来完成它的方法需要域管理员密码,如下所示。
Set objIADS = GetObject("WinNT:").OpenDSObject("WinNT://domain", "Administrator", sDomainPassword, ADS_SECURE_AUTHENTICATION)
Set objIADSUser = objIADS.GetObject("user", sUserID)
objIADSUser.ChangePassword sOldPassword, sNewPassword
现在一切正常,但我需要将域管理员密码传递给 OpenDSObject 方法。
我显然不想将它以明文形式存储在文本变量中,也不想以明文形式存储在 SQL Server 表中,那么我还有哪些其他选择?
【问题讨论】:
-
如果你有 userID 和 oldPassword,并且由于默认情况下用户有权更改自己的密码,为什么不使用用户凭据而不是管理员凭据来更改密码?
标签: asp-classic active-directory adsi