2016-05-13 47 views
1

这里更改密码被拒绝是代码:访问时,我在AD从Azure中

PrincipalContext oPrincipalContext = new PrincipalContext(ContextType.Domain, "domain.com", "DC=domain,DC=com", "login", "password"); 
var user = UserPrincipal.FindByIdentity(oPrincipalContext, IdentityType.SamAccountName, userName); 
user.SetPassword(newPass); 

对于本地主机部署它工作得很好,但是当我尝试运行在Azure中的Web应用程序的代码我收到以下错误

Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED) 

它有什么问题?如何从Azure Web App中重置AD中的用户密码?

回答

1

如果您没有使用Web应用程序和本地域的虚拟网络将它们合并到一个网络中,则可能会出现此问题。 Tutorial。这将把你的资源放到一个VPN中,问题应该消失。

+0

我忘了写我正在使用VPN,一切都在AD正常工作。只有SetPassword导致错误。 –

+0

@сергейтамбовцев好,很好。尝试使用ChangePassword而不是SetPassword?并查看[that](https://consultrikin.wordpress.com/2014/02/20/ad-change-password-c-access-is-denied-exception-from-hresult-0x80070005-e_accessdenied/) - 可能是很有帮助。 –

+0

ChangePassword不是我所需要的。管理员不知道旧密码。我会尽量使链接指令 –