【问题标题】:what are Provider Abilities with Custom Role Providers in SitefinitySitefinity 中自定义角色提供者的提供者能力是什么
【发布时间】:2018-06-20 20:01:48
【问题描述】:

我正在尝试在 sitefinity 中实现自定义角色提供程序。我找到了一些例子,但我找不到任何记录得很好的东西。我想进一步了解的一件事是 Provider Abilities 数组中有哪些可用选项。

我从 git hub 看到了一个示例,其中列出了其中的一些,但是还有什么可以放在那里的?我正在创建的提供程序将是一个只读提供程序,因此我想知道我还可以在其中添加什么并将其标​​记为不支持或不允许。

还有哪些可用的选项?

example from git hub

【问题讨论】:

    标签: sitefinity roleprovider


    【解决方案1】:

    您使用它基本上说明您的提供者支持哪些操作。

    内置的 OpenAccessRoleProvider 提供程序(使用数据库存储角色的提供程序)支持您附加的所有这些操作(添加/删除/获取角色,分配/取消分配用户到角色),但 LdapRoleProvider 可以不支持 DeleteRole 能力(注意它的第二个和第三个参数是假的):

    LdapRoleProvider:

    public override ProviderAbilities Abilities
        {
            get
            {
                ProviderAbilities providerAbility = new ProviderAbilities()
                {
                    ProviderName = this.Name,
                    ProviderType = base.GetType().FullName
                };
                providerAbility.AddAbility("GetRole", true, true);
                providerAbility.AddAbility("AddRole", false, false);
                providerAbility.AddAbility("AssingUserToRole", false, false);
                providerAbility.AddAbility("UnAssingUserFromRole", false, false);
                providerAbility.AddAbility("DeleteRole", false, false);
                return providerAbility;
            }
        }
    
    public void AddAbility(string operationName, bool supported, bool allowed) {...}
    

    这很正常 - 例如,您无法从 Sitefinity 删除 Active Directory 中的角色。

    【讨论】:

      猜你喜欢
      • 2017-07-26
      • 2015-04-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多