首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尝试检索授权组时,出现错误(5

尝试检索授权组时,出现错误(5
EN

Stack Overflow用户
提问于 2011-04-28 14:32:21
回答 4查看 13.5K关注 0票数 13

如果我在服务器上运行应用程序,而不是在本地运行,则会出现此错误。为什么这发生在服务器上,而不是本地?

代码语言:javascript
复制
List<GroupPrincipal> result = new List<GroupPrincipal>();

// establish domain context
PrincipalContext yourDomain = new PrincipalContext(ContextType.Domain);

// find your user
UserPrincipal user = UserPrincipal.FindByIdentity(yourDomain, userName);

// if found - grab its groups
if (user != null)
{
//here happens the error on server.
PrincipalSearchResult<Principal> groups = user.GetAuthorizationGroups();

请帮帮我。

堆栈跟踪:

代码语言:javascript
复制
   [PrincipalOperationException: While trying to retrieve the authorization groups, an error (5) occurred.]
   System.DirectoryServices.AccountManagement.AuthZSet..ctor(Byte[] userSid, NetCred credentials, ContextOptions contextOptions, String flatUserAuthority, StoreCtx userStoreCtx, Object userCtxBase) +317263
   System.DirectoryServices.AccountManagement.ADStoreCtx.GetGroupsMemberOfAZ(Principal p) +441
   System.DirectoryServices.AccountManagement.UserPrincipal.GetAuthorizationGroupsHelper() +78
   System.DirectoryServices.AccountManagement.UserPrincipal.GetAuthorizationGroups() +11
   IntegrationApp.App_Code.ActiveDir.GetGroups(String userName) in C:\Documents and Settings\mta\My Documents\IntegrationApp\IntegrationApp\App_Code\3-Tier\DAL\ActiveDir.cs:54
   IntegrationApp.App_Code._3_Tier.BAL.DatabaseBAL.BepaalDefaultNiveau2(String melder) in C:\Documents and Settings\mta\My Documents\IntegrationApp\IntegrationApp\App_Code\3-Tier\BAL\DatabaseBAL.cs:75
   IntegrationApp.Detailscherm.VulLijsten() in C:\Documents and Settings\mta\My Documents\IntegrationApp\IntegrationApp\Detailscherm.aspx.cs:89
   IntegrationApp.Detailscherm.Page_Load(Object sender, EventArgs e) in C:\Documents and Settings\mta\My Documents\IntegrationApp\IntegrationApp\Detailscherm.aspx.cs:30
   System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +25
   System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +42
   System.Web.UI.Control.OnLoad(EventArgs e) +132
   System.Web.UI.Control.LoadRecursive() +66
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2428
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-05-02 15:43:52

我找到了另一个访问组的解决方案:

代码语言:javascript
复制
PrincipalSearchResult<Principal> groups = user.GetGroups();
票数 9
EN

Stack Overflow用户

发布于 2011-04-28 15:39:11

您的进程在服务器上以什么身份运行?最有可能的是,该用户没有访问Active Directory的正确权限。

你能测试一下它和PrincipalContext的构造函数一起工作吗?

代码语言:javascript
复制
PrincipalContext yourDomain = new PrincipalContext(ContextType.Domain, "MY.DOMAIN.HERE", "USERNAME", "PASSWORD");

如果这样做有效,您可能希望为您的应用程序创建一个专用的域用户来运行。

票数 3
EN

Stack Overflow用户

发布于 2012-08-30 23:01:00

我发现执行GetAuthorizationGroups需要Windows Authorization Access Group中的成员身份。

请参阅以下文章:http://support.microsoft.com/kb/331951

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5814561

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档