2012-09-03 2 views
0

J'utilise d'abord le code Entity Framework, et je voudrais implémenter un système de permissions utilisateur au-dessus de mes entités. Par exemple, j'ai quelques entités:Autorisations utilisateur personnalisées avec Entity Framework Code Premier

public partial class Course 
{ 
    public virtual string Name { get; set; } 
    public virtual bool Visible { get; set; } 
} 

public partial class Student 
{ 
    public virtual string Name { get; set; } 
    public virtual bool Visible { get; set; } 
} 

et ainsi de suite.

Ensuite, je voudrais avoir des entités comme: Utilisateur et Autorisation. L'entité Autorisation aurait des colonnes de type booléen: Créer, Lire, Mettre à jour, Supprimer qui spécifient les autorisations utilisateur, la colonne UserId et une colonne qui spécifie la table pour laquelle cette autorisation est ajoutée.

Quelle serait la meilleure méthode pour implémenter un tel comportement dans le code en premier?

+0

Vous essayez peut-être de réinventer la roue ici, qu'autorise exactement vos autorisations personnalisées? – James

+0

Je voudrais autoriser les autorisations CRUD et créer et lire un nombre maximum d'éléments qu'un utilisateur peut créer/lire. – paccic

Répondre

1

Si vous utilisez MVC, vous pouvez tirer parti du cadre d'autorisation existant et créer un AuthorizeAttribute personnalisé dans lequel vous gérez vos autorisations personnalisées.

Vous pouvez introduire une nouvelle table Permissions dans votre base de données et la carte des autorisations spécifiques à vos utilisateurs de cette façon, ou vous pourriez aussi simplement ajouter un champ Permissions dans la table Student.

+0

Merci beaucoup. – paccic

Questions connexes