【发布时间】:2016-10-30 19:44:39
【问题描述】:
这个问题已经被问过好几次了,但到目前为止我还没有看到一个看起来像我们的问题的答案。
首先我们有两个重复的环境。两者都运行带有 Active Directory 的 Windows 2012 R2 服务器,用于我们的 Active Directory 联合服务。
我们的系统包含一个通过 WCF 服务进行通信的 Web 门户。由此我们有一个安全 WCF 服务,允许我们创建新的 AD 帐户。这目前在我们的开发和测试机器上完美运行(尽管它们使用相同的 AD 和 ADFS 机器),但是在我们的生产环境中,当我们调用相同的函数来创建新用户时,我们会收到以下错误:
02:07:24 [17] 错误用户服务!错误 !!! System.Reflection.TargetInvocationException:调用的目标已引发异常。 ---> System.UnauthorizedAccessException:访问被拒绝。 (来自 HRESULT 的异常:0x80070005 (E_ACCESSDENIED)) --- 内部异常堆栈跟踪结束 --- 在 System.DirectoryServices.DirectoryEntry.Invoke(字符串方法名,对象 [] 参数) 在 System.DirectoryServices.AccountManagement.SDSUtils.SetPassword(DirectoryEntry de,字符串 newPassword) 在 System.DirectoryServices.AccountManagement.ADStoreCtx.SetPassword(AuthenticablePrincipal p,字符串 newPassword) 在 System.DirectoryServices.AccountManagement.SDSUtils.InsertPrincipal(主体 p,StoreCtx storeCtx,GroupMembershipUpdater updateGroupMembership,NetCred 凭据,AuthenticationTypes authTypes,Boolean needToSetPassword) 在 System.DirectoryServices.AccountManagement.ADStoreCtx.Insert(主体 p) 在 System.DirectoryServices.AccountManagement.Principal.Save() 在 e:\Bld\1\User Service\UserService\Implementation\LDAPManager.cs:line 60 中的 UserService.Implementation.LDAPManager.CreateUser(String login, String firstName, String lastName, String userPassword, String EmailAddress) 在 e:\Bld\1\User Service\UserService\UserService.cs:line 127 中的 UserService.createNewUser(NewUserValueObject newUser) 处
正如我所说,我们已经查看了 AD 方面并没有发现任何明显的东西,但我相信你们伟大的运营和开发人员很快就会告诉我其他情况。
【问题讨论】:
标签: c# active-directory ws-federation