Umbraco 13 - 成员属于角色/成员组吗?

问题描述 投票:0回答:1

我正在开发一个 Umbraco 13 网站,该网站正在使用 members member groups

模板中,我希望能够确定当前成员是否属于某个成员组。目标是仅向某些成员组显示模板中的某些内容。

我希望有这样的方法:

member.IsInRole("myGroup");

但我没找到任何东西。

我知道我可以通过利用 IMemberService > GetAllRoles(int memberId) 并检查列表来创建自己的方法。

令我惊讶的是,某处没有内置方法。有谁知道我是否错过了它还是它根本不存在?

umbraco
1个回答
0
投票

没有像

IsInRole("myGroup")
这样的方法,但有类似的方法可以使用

您可以使用

GetMembersInRole(string roleName)
FindMembersInRole(string roleName, string usernameToMatch, StringPropertyMatchType matchType = StringPropertyMatchType.StartsWith)
了解成员是否担任角色。

using Umbraco.Cms.Core.Models;
using Umbraco.Cms.Core.Models.Membership;
using Umbraco.Cms.Core.Persistence.Querying;

namespace Umbraco.Cms.Core.Services;

public interface IMembershipRoleService<out T>
    where T : class, IMembershipUser
{
    void AddRole(string roleName);

    IEnumerable<IMemberGroup> GetAllRoles();

    IEnumerable<string> GetAllRoles(int memberId);

    IEnumerable<string> GetAllRoles(string username);

    IEnumerable<int> GetAllRolesIds();

    IEnumerable<int> GetAllRolesIds(int memberId);

    IEnumerable<int> GetAllRolesIds(string username);

    IEnumerable<T> GetMembersInRole(string roleName);

    IEnumerable<T> FindMembersInRole(string roleName, string usernameToMatch, StringPropertyMatchType matchType = StringPropertyMatchType.StartsWith);

    bool DeleteRole(string roleName, bool throwIfBeingUsed);

    void AssignRole(string username, string roleName);

    void AssignRoles(string[] usernames, string[] roleNames);

    void DissociateRole(string username, string roleName);

    void DissociateRoles(string[] usernames, string[] roleNames);

    void AssignRole(int memberId, string roleName);

    void AssignRoles(int[] memberIds, string[] roleNames);

    void DissociateRole(int memberId, string roleName);

    void DissociateRoles(int[] memberIds, string[] roleNames);

    void ReplaceRoles(string[] usernames, string[] roleNames);

    void ReplaceRoles(int[] memberIds, string[] roleNames);
}
© www.soinside.com 2019 - 2024. All rights reserved.