【发布时间】:2017-06-23 10:45:13
【问题描述】:
我目前正在尝试创建一个页面,其中包含 Umbraco 成员区域中所有组的列表。
当我用谷歌搜索答案时返回的大部分内容是如何获取特定用户的所有组,但这不是我想要的,我希望列出的所有组都可供所有成员使用。
我想另一种方法是创建一个对所有组都具有权限的用户,然后遍历该成员的组,但这需要我确保将该成员添加到我创建的每个新组中。
【问题讨论】:
我目前正在尝试创建一个页面,其中包含 Umbraco 成员区域中所有组的列表。
当我用谷歌搜索答案时返回的大部分内容是如何获取特定用户的所有组,但这不是我想要的,我希望列出的所有组都可供所有成员使用。
我想另一种方法是创建一个对所有组都具有权限的用户,然后遍历该成员的组,但这需要我确保将该成员添加到我创建的每个新组中。
【问题讨论】:
MemberService 上有一个方法可以获取所有 Umbraco 成员角色:
var roles = ApplicationContext.Current.Services.MemberService.GetAllRoles();
阅读此方法here。
如果这种方法只使用System.Web.Security.Roles.GetAllRoles(),我无法通过查看 Umbraco 的来源来弄清楚。我可能会推荐使用 Umbraco 方法,因为它允许您切换默认的成员资格提供程序,而无需更改视图中的所有方法调用。
【讨论】:
我已经为任何正在寻找的人找到了答案(感谢 Stack Overflow 的橡皮鸭效果!)
@{
string[] Roles = System.Web.Security.Roles.GetAllRoles();
}
<ul>
@foreach (string role in Roles) {
<li>@role</li>
}
</ul>
【讨论】: