如何列出Umbraco中的所有成员组?

时间:2017-06-23 10:45:13

标签: razor umbraco

我目前正在尝试创建一个页面,其中列出了Umbraco成员区域中的所有组。

当我谷歌寻求答案时返回的大部分内容是如何获取特定用户的所有组,但这不是我想要的,我希望列出的所有组都可用于所有成员。

我想替代方法是创建一个拥有所有组权限的用户,然后遍历该成员的组,但这需要我确保将此成员添加到我创建的每个新组中。

2 个答案:

答案 0 :(得分:4)

MemberService上有一个方法可以获得所有Umbraco成员角色:

var roles = ApplicationContext.Current.Services.MemberService.GetAllRoles();

了解此方法here

如果此方法仅使用System.Web.Security.Roles.GetAllRoles(),我无法从查看Umbraco的来源中找到答案。我可能会建议使用Umbraco方法,因为它允许您切换默认的成员资格提供程序,而无需更改视图中的所有方法调用。

答案 1 :(得分:2)

我找到了任何人的答案(感谢Stack Overflow的橡皮鸭效果!)

@{
  string[] Roles = System.Web.Security.Roles.GetAllRoles();
}
<ul>
  @foreach (string role in Roles) {
    <li>@role</li>
  }
</ul>