3

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

我不想自己手动管理密码,而是想编写一个脚本,以便他们自己更改密码。

我将如何通过 ASP 更新他们的 windows 密码?

4

3 回答 3

2

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

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

于 2009-02-09T18:31:29.233 回答
2

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

您提到您的用户是远程的。如果站点是公开的,他们将如何通过集成身份验证进行身份验证?我知道使这成为可能的唯一方法是通过 VPN。否则,他们将不得不使用基本身份验证来输入他们的用户名和密码。这是非常不安全的,即使在 SSL 上也是如此。

以下是一些建议:

  • 使用客户端证书保护站点。如果这不可能,请至少使用 SSL。
  • 我强烈建议您在安全的 Web 服务中实现实际的密码更改逻辑。ASP.NET 页面应调用 Web 服务来请求更改。
  • 您应该存储密码更改的审计跟踪。不要存储密码,只存储用户、时间和 IP 地址的事件日志。
  • 进行非常彻底的测试,以确保集成安全能够正确识别您的用户。确保用户不会意外更改其他用户的密码。
于 2009-02-09T19:01:57.567 回答
2

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

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

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

于 2009-02-14T10:25:58.940 回答