代码之家  ›  专栏  ›  技术社区  ›  BIBD

如何通过ASP更改Windows密码?

  •  2
  • BIBD  · 技术社区  · 15 年前

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

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

    如何通过ASP更新他们的Windows密码?

    3 回复  |  直到 15 年前
        1
  •  2
  •   jgallant    15 年前

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

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

        2
  •  2
  •   Lex Li    15 年前

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

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

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

        3
  •  1
  •   Dave Swersky    15 年前

    如果你打算在一个网站上提供这个,你应该考虑到安全性的影响。自助密码更改网站通常被认为是主要的安全风险,并不常见。

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

    以下是一些建议:

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