作为 ASP.NET 网站上一组管理工具的一部分,我正在使用目录服务更改用户的 Active Directory 密码。
我收到错误:
错误:无法更改密码(您有权限吗?)。
System.Reflection.TargetInvocationException:调用的目标已引发异常。
---> System.UnauthorizedAccessException:访问被拒绝。
(来自 HRESULT 的异常:0x80070005 (E_ACCESSDENIED))
---内部异常堆栈跟踪结束---
在 System.DirectoryServices.DirectoryEntry.Invoke(String methodName, Object[] args)
在 System.DirectoryServices.AccountManagement.SDSUtils.SetPassword(
System.DirectoryServices.AccountManagement.ADStoreCtx.SetPassword(AuthenticablePrincipal p, String newPassword ) 处的 DirectoryEntry de, String newPassword)
Web.config
阅读:
<authentication mode="Windows" />
<identity impersonate="true" />
在 Visual Studio 调试环境中,设置密码例程成功完成,但在从其他计算机访问时却没有。我正在尝试使用模拟来允许此请求 - 该站点可以正确地告诉我我的域和用户名(使用 Context.User.Identity),并且可以查询 Active Directory 以获取两种环境中所有用户的列表。
我的 PrincipalContext 是:
new PrincipalContext(ContextType.Domain, "DOMAINNAME");
非常感谢任何帮助。