我正在使用Entity Framework开展C# MVC
项目。我正在尝试获得基于角色的身份验证。
我有三个表Roles
,PermissionFunction
和Permission
。
角色:
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
Permision
permisionId | roleid| pfid
-------------------------
1 | 1 | 1
2 | 1 | 2
3 | 1 | 3
4 | 1 | 4
5 | 3 | 5
6 | 3 | 6
这些只是样本数据。
我需要在登录时检查用户的角色,并根据该角色仅允许访问允许的页面。
我有一个管理员可以更改权限详细信息的视图。
权限函数表中的functionname
只是一些字符串,我需要使用它来提供或停止访问相应的操作。
我搜索并发现什么,我是这类新手的新手,请建议我更好的方法来实现这一目标。
提前致谢。
答案 0 :(得分:0)
public override void OnActionExecuting(ActionExecutingContext filterContext)
您可以覆盖Action执行并检查此方法的权限(例如:使用用户凭据)。基于Pemission,您可以从此方法返回标志,如true或false。