【发布时间】:2014-06-13 23:15:17
【问题描述】:
以下 MVC web api 代码可以正常工作
directoryEntry.Invoke("SetPassword", "desired password");
directoryEntry.CommitChanges();
但相同的应用程序/服务帐户在尝试时出错
directoryEntry.Invoke("ChangePassword", "old password", "new password");
directoryEntry.CommitChanges();
错误详情:
System.UnauthorizedAccessException: Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))
调用 ChangePassword 需要与 SetPassword 不同的权限吗?
【问题讨论】:
-
该用户的“更改密码”标志是否可能未选中?
-
@Cory 你能告诉我如何验证吗?
-
@Cory 抱歉,我太懒了。在用户属性中找到该标志,并对其进行了检查(用户无法更改密码)。取消选中它,错误就消失了。如果您将其添加为答案,我会将其标记为答案。顺便说一句,新错误是“指定的网络密码不正确。(HRESULT 异常:0x80070056)”即使我输入了正确的当前密码。
-
没关系最后评论的新错误部分...序列化错误。
-
这是个好消息。我将我的评论问题转换为答案。
标签: c# active-directory