加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-membership – 如何让所有用户都参与角色中的角色?

发布时间:2020-12-16 06:30:55 所属栏目:asp.Net 来源:网络整理
导读:我有一个使用AD模块连接到Active Directory的Sitecore站点.假设我们在Sitecore中定义了一个名为“内容作者”的角色.内容作者可能包含单个用户帐户 – “jsmith” – 或者它可能包含整个AD组 – “Northeast Managers”.我需要直接或间接(通过AD组)获
我有一个使用AD模块连接到Active Directory的Sitecore站点.假设我们在Sitecore中定义了一个名为“内容作者”的角色.内容作者可能包含单个用户帐户 – “jsmith” – 或者它可能包含整个AD组 – “Northeast Managers”.我需要直接或间接(通过AD组)获取“内容作者”角色中所有用户的列表.现在我的代码似乎只返回直接成为“内容作者”角色成员的用户.这是我的代码:

string[] _roleUserNames = System.Web.Security.Roles.GetUsersInRole("Content Authors");

我假设这段代码会返回该角色中每个人的“有效”列表.它似乎只会让那些直接担任这个角色的人回归.有谁知道是否有其他方式让每个人都参与其中?

解决方法

我发现这是Sitecore的一个特定问题,因为Sitecore允许Roles in Roles,并且该功能是建立在MS ASP.NET Membership之上的.要让包含“间接”用户的角色中的所有用户,您应该使用以下代码:

IEnumerable<User> _roleUsers = Sitecore.Security.Accounts.RolesInRolesManager.GetUsersInRole(Role.FromName("Content Authors"),true);

这将为您提供包括间接用户在内的所有用户.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读