【问题标题】:how to add mysql roles to RoleManager如何将 mysql 角色添加到 RoleManager
【发布时间】:2011-11-10 19:44:32
【问题描述】:

是否有一个很好的示例,说明如何在验证用户后向该用户添加角色。这些角色来自 mysql 数据库上的存储过程。我需要能够为一个用户添加多个角色。

【问题讨论】:

    标签: asp.net mysql


    【解决方案1】:

    首先您需要向您的角色添加新角色 像

     if (!Roles.RoleExists("TestRole"))
     {
         Roles.CreateRole("TestRole");
     }
    

    然后将该角色添加到您的用户

      Roles.AddUserToRole("TestUser", "TestRole");
    

    您必须先添加角色,然后才能将其分配给用户

    【讨论】:

    • 请看这篇帖子,我被告知这是完全错误的stackoverflow.com/questions/8083708/…
    • 为什么要使用单独的表来存储角色,为什么不能使用默认的角色存储?
    • 因为我需要拥有 15-20 个自定义角色,并且一个用户可以属于其中的 1-20 个,并且每个角色都有不同的功能,我也不确定你的意思默认角色存储
    • 要添加多个角色,您可以使用Roles.AddUserToRoles(username,string[] roleNames),默认角色存储是指您配置为角色管理器使用的表
    【解决方案2】:

    你的意思是像Roles.AddUserToRoles 方法吗?

    【讨论】:

    • 好吧,我以为我提到了,但是看到这篇文章stackoverflow.com/questions/8083708/…我的想法完全被吹走了......
    • 也许你的意思是 User.IsInRole 来测试用户是否已经在角色中,然后?
    • 它们在“角色”中没有,因为我没有将它们添加到 asp.net 角色中,所以我无法检查它们,我在 mysql 中的角色是自定义的
    • 所以,您有两个选择。 1)将您的自定义角色添加到 SqlRoleManager 然后将它们添加到用户并按照建议进行检查。 2) 编写自己的代码来检查角色(自定义 RoleManager 或其他一些实现)
    • 你如何为 MySQL 使用 SqlRoleManager,我希望有一个用于 mysql 的 RoleManager 的简单指南
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-07-27
    • 2017-03-04
    • 2021-04-09
    • 2010-12-13
    • 2013-11-06
    • 2017-06-27
    • 1970-01-01
    相关资源
    最近更新 更多