【问题标题】:Role based Authentication using action name使用操作名称的基于角色的身份验证
【发布时间】:2017-09-12 06:34:48
【问题描述】:

我正在使用 Entity Framework 开发 C# MVC 项目。我正在尝试获取基于角色的身份验证。

我有三个表,分别是 RolesPermissionFunctionPermission

角色:

roleId | rolename 
-------------------
 1     | admin    
 2     | super admin
 3     | user

权限函数

pfId | functionname 
-------------------------
 1   | usercreate        
 2   | useredit      
 3   | userdelete        
 4   | userview              
 5   | productcreate         
 6   | productedit       
 7   | productdelete         
 8   | productview

权限

permisionId | roleid| pfid
-------------------------
 1          | 1     | 1
 2          | 1     | 2
 3          | 1     | 3
 4          | 1     | 4
 5          | 3     | 5
 6          | 3     | 6

这些只是样本数据。

我需要在用户登录时检查用户的角色,并据此仅授予对允许页面的访问权限。

我有一个视图,管理员可以从中更改权限详细信息。

权限函数表中的functionname只是一些字符串,我需要使用它来授予或停止对相应操作的访问。

我搜索并没有发现任何东西,我对这类东西不熟悉,请建议我一个更好的方法来实现这一点。

提前致谢。

【问题讨论】:

  • 看INNER JOIN语句

标签: c# asp.net-mvc authentication role-base-authorization


【解决方案1】:
 public override void OnActionExecuting(ActionExecutingContext filterContext)

您可以覆盖操作执行并检查此方法的权限(例如:使用用户凭据)。根据权限,您可以从此方法返回标志,如 true 或 false。

MORE INFORMATION

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-01-03
    • 2013-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-13
    • 2021-11-22
    • 2019-10-10
    相关资源
    最近更新 更多