【问题标题】:Role Based authentication in MVC3MVC3 中基于角色的身份验证
【发布时间】:2014-04-04 20:47:23
【问题描述】:

在我的数据库中,我有一些用户和他们的角色。我可以根据用户输入对用户进行身份验证。现在我想从数据库中检索角色并根据每个 Controller 的角色对用户进行身份验证。

【问题讨论】:

    标签: asp.net-mvc-3 user-roles


    【解决方案1】:

    身份验证和授权是两个不同的东西。如果您想根据角色授权某人,则可以使用以下内容装饰类或方法:

        [Authorize(Roles = "admin")]
    

    这样控制器将拒绝没有管理员角色的任何人。

    较新版本的 MVC 具有更好的授权和身份验证选项,但这是 MVC3 中常用的。

    【讨论】:

    • 这很好,但是我如何在从数据库中检索详细信息时将用户作为“管理员”进行比较。 Roles.GetRolesForUser(User.Identity.Name) 类似这样的东西
    • 你不知道,属性会处理它。它确保登录的身份具有“管理员”类型的角色。我不完全确定您还试图完成什么,但是是的,您可以使用您提到的方法获取用户的所有角色,如果您不提供任何参数,它会为当前用户获取角色.
    猜你喜欢
    • 2016-01-03
    • 1970-01-01
    • 1970-01-01
    • 2015-05-17
    • 1970-01-01
    • 2023-01-24
    • 2021-11-22
    • 2019-10-10
    • 2017-08-03
    相关资源
    最近更新 更多