如何通过asp更改Windows密码?

时间:2009-02-09 18:22:45

标签: asp.net iis authentication windows-authentication

我有一个使用集成Windows身份验证来验证用户的Web应用程序。他们中的大多数是远程的,无法访问工作站来更新他们的AD密码。

我不是手动管理自己的密码,而是将脚本放在一起,以便他们可以自行更改。

如何通过ASP更新Windows密码?

3 个答案:

答案 0 :(得分:2)

System.DirectoryServices命名空间中有一个函数似乎能够处理这个问题。您需要添加对它的引用才能使用它。

以下是有关如何更改用户密码的文章: http://msdn.microsoft.com/en-us/library/ms817839.aspx

答案 1 :(得分:2)

http://support.microsoft.com/kb/555071

如果您可以像这样设置IISADMPWD,您应该能够更改密码。这实际上是一个依赖于COM组件的ASP应用程序。

请注意,IISADMPWD已过时,不随IIS 7.0一起提供。

答案 2 :(得分:1)

如果您要在网站上提供此功能,则应考虑安全隐患。自助密码更改网站通常被认为是一个主要的安全风险,并不常见。

您提到您的用户是远程用户。如果该网站是公开的,他们将如何通过集成身份验证进行身份验证?他们只知道通过VPN实现这一目标。否则,他们将不得不使用基本身份验证输入他们的用户名和密码。即使通过SSL,这也是非常不安全的。

以下是一些建议:

  • 使用客户端证书保护网站。如果无法做到这一点,请至少使用SSL。
  • 我强烈建议您在安全的Web服务中实现实际的密码更改逻辑。 ASP.NET页面应该调用Web服务来请求更改。
  • 您应该存储密码更改的审核跟踪。请勿存储密码,只存储用户的事件日志,时间和IP地址。
  • 进行非常彻底的测试,以确保集成安全性能够正确识别您的用户。确保用户不会意外更改其他用户的密码。