UserPrincipal.GetGroups vs. UserPrincipal.GetAuthorizationGroups?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UserPrincipal.GetGroups vs. UserPrincipal.GetAuthorizationGroups?相关的知识,希望对你有一定的参考价值。
我使用ASP.Net 4.0 MVC来查询活动目录。我试图获取用户的组成员资格列表,并迭代它们。我有一个奇怪的问题。要获得我正在使用的组:
PrincipalSearchResult<Principal> groups = up.GetGroups();
哪个在localhost上工作得很好但在移动到IIS6时返回一个空集。所以我尝试使用这个:
PrincipalSearchResult<Principal> groups = up.GetAuthorizationGroups();
哪个在IIS6上运行良好,但在localhost上返回一个空集。这两种方法有什么区别?为什么我可以在IIS6中使用一个而不在localhost上使用?为什么我可以在localhost而不是IIS6中使用另一个?
我假设GetAuthorizationGroups()
调用AD中的tokenGroups。要读取它,您的服务帐户(或网络服务时的IIS计算机帐户)需要位于AD中的Windows授权访问组中。
为什么部分已被回答,但这可能有助于想知道两种方法之间功能差异的人。从MS文档:
GetGroups - 返回组对象的集合,指定当前主体所属的组。
这个重载方法只返回主体直接成员的组;不执行递归搜索。
GetAuthorizationGroups - 返回包含此用户所属的所有授权组的主体对象的集合。此函数仅返回作为安全组的组;不返回通讯组。
此方法以递归方式搜索所有组,并返回用户所属的组。返回的集合还可以包括系统将用户视为授权目的的其他组。
所以qazxsw poi获得用户是其直接成员的所有组,并且qazxsw poi获得用户是直接或间接成员的所有授权组。
尽管它们被命名的方式,但其中一个不是另一个的子集。可能有GetGroups
返回的团体没有被GetAuthorizationGroups
归还,反之亦然。
以上是关于UserPrincipal.GetGroups vs. UserPrincipal.GetAuthorizationGroups?的主要内容,如果未能解决你的问题,请参考以下文章
selenium chromedriver geckodriver iedriverserver下载
Vue.js常用指令汇总(v-if//v-show//v-else//v-for//v-bind//v-on等)
根据每个元素的i属性,由小到大排列如下数组ar=[{i:5,v:1},{i:5,v:4},{i:2,v:1},{i:1,v:3},{i:3,v:2},{i:6,v:1},{i:4,v:1}];