2017-09-12 9 views
0

C# MVC 프로젝트에서 Entity Framework를 사용하고 있습니다. 역할 기반 인증을 얻으려고합니다.작업 이름을 사용하여 역할 기반 인증

나는 Roles, PermissionFunctionPermission과 같은 세 개의 테이블을 가지고 있습니다.

역할 :

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 

이는 SAMPL입니다 전자 데이터.

로그인 할 때 사용자의 역할을 확인하고 허용되는 페이지에만 액세스 권한을 부여해야합니다.

관리자가 권한 세부 정보를 변경할 수있는 위치에서 볼 수 있습니다.

enter image description here

권한 기능 테이블의 functionname

는 그냥 문자열입니다, 그리고 난 줄 또는 조치 대응에 대한 액세스를 중지하려면이를 사용해야합니다.

나는 아무것도 찾지 못했지만이 유형의 물건에 익숙하지 않았으므로 이것을 달성하는 더 좋은 방법을 제안 해주십시오.

미리 감사드립니다.

+0

봐 – apomene

답변

1
public override void OnActionExecuting(ActionExecutingContext filterContext) 

당신은 executeing 작업에 무시하고이 방법을 통해 permision을 확인할 수 있습니다 (예 : 사용자 자격 증명으로) pemission에서 찾을수 당신은 참 또는 거짓 같은이 방법에서 플래그를 반환 할 수 있습니다. INNER에게 문을 가입하기에

MORE INFORMATION