Je crée une application Web dans laquelle je souhaite que les utilisateurs disposent d'autorisations spécifiques pour effectuer une action spécifique. Je ne souhaite pas utiliser les autorisations par défaut et les fournisseurs de rôles dans ASP.NET.Autorisations personnalisées C#/ASP.NET pour effectuer une action spécifique
Je pensais avoir chaque utilisateur associé à un rôle. Chaque rôle est mappé à un ensemble d'autorisations (CreatePost, ReadPost, UpdatePost, DeletePost et ainsi de suite).
J'ai quelques questions à ce sujet. Serait-il préférable d'avoir une propriété booléenne pour chaque autorisation sur le rôle ou une sorte de champ de bits? J'aime l'idée d'avoir des méthodes pour cela mais correctement besoin de les mapper aux autorisations stockées pour le rôle dans la base de données.
De même, comment est-ce que je mettrais en œuvre ceci pour chaque action/demande? Je pense quelque chose dans le sens de ce qui a été posté here mais je ne suis pas vraiment sûr.
Merci!
@TheCloudlessSky: Pourquoi ne voulez-vous pas utiliser le fournisseur de rôle pour faire cela? Quel besoin avez-vous avec lequel il est en conflit? – casperOne
@casperOne: C'est une application d'entreprise à très grande échelle que je ne veux pas vraiment remplacer les méthodes et avoir lancé NotImplementedException ... ce n'est pas très agréable à mon avis. Je veux vraiment une solution personnalisée afin que nous ayons un contrôle complet sur tout. – TheCloudlessSky
Le fait qu'il s'agit d'une application à grande échelle est vraiment un faux-fuyant, il n'est pas pertinent de savoir pourquoi on utiliserait ou non le RoleProvider. En outre, il est plus facile d'effectuer le codage à l'avance pour le RoleProvider * now * personnalisé que de devoir parsemer les appels de méthode * partout * dans votre code que vous voulez sécuriser (par opposition à l'ajout d'un attribut). Surtout pour une application à grande échelle, il est auto-destructeur de ** pas ** aller de cette façon. – casperOne