2017-09-12 2 views
0

Ich arbeite an einem C# MVC Projekt mit Entity Framework. Ich versuche eine rollenbasierte Authentifizierung zu erhalten.Rollenbasierte Authentifizierung mit Aktionsname

Ich habe drei Tabellen wie Roles, PermissionFunction und Permission.

Rollen:

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

Permission Funktion

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 

Dies sind nur sampl die Daten

Ich muss die Rolle des Benutzers überprüfen, wenn er sich anmeldet und dementsprechend Zugang nur zu den zulässigen Seiten gewähren.

Ich habe eine Ansicht von wo Admin die Erlaubnis Details ändern kann.

enter image description here

Die functionname in Funktionstabelle Erlaubnis sind nur einige Zeichenfolge, und ich brauche diese zu verwenden, um Zugang zu erhalten oder zu stoppen Aktion zu entsprechen.

Ich suchte und fand nichts, ich bin neu in dieser Art von Sachen, bitte schlagen Sie mir einen besseren Weg, dies zu erreichen.

Vielen Dank im Voraus.

+0

Blick auf INNER JOIN-Anweisung – apomene

Antwort

1
public override void OnActionExecuting(ActionExecutingContext filterContext) 

Sie können auf Aktion außer Kraft setzen executeing und überprüfen Sie die permision über diese Methode (zB: mit Benutzer-Credentials) .based auf Baugenehmingung können Sie Flagge von dieser Methode, wie wahr oder falsch zurück.

MORE INFORMATION

Verwandte Themen