J'essaie de créer un modèle d'objet de sécurité basé sur un nom d'utilisateur-mot de passe simple pour mon application. L'exigence est que l'utilisateur entrera en utilisant le nom d'utilisateur et mot de passe et il/elle aura activer et désactiver l'accès à la partie du système en fonction du rôle dans lequel ils tombent. ce que je pense est une idée assez simple.Modèle d'objet de sécurité .net
Maintenant, voici ma requête. J'ai une classe de base dans l'objet métier qui hérite de toutes les autres classes. Dans mon projet de sécurité, il y aura quelques classes pour, par exemple, Security, Identity (qui contient des informations userprofile) etc. L'idée est que ma classe de base utilisera cet objet de sécurité et que les classes héritées peuvent référencer cet objet de sécurité pour un utilisateur donné (connecté). Donc par exemple si je suis connecté à l'application et que je suis allé accéder au module comptes, car le module compte hérite de ma classe de base il a la connaissance de qui suis-je, quel rôle je suis tombé dans etc ... Donc je peux avoir une propriété CanExecute dans mes comptes qui peut être activé/désactivé selon le rôle de l'utilisateur. J'espère que j'ai essayé de rendre cela aussi clair que possible. J'apprécierais vraiment toutes les entrées en termes de codage et en termes d'architecture.
Un grand merci, Preyash
quand vous dites 'construire', voulez-vous dire la mise en œuvre de la FormsAuthentication & Les classes MembershipService qui existent déjà ?? (voir System.Security et System.Security.Principal) –
Désolé par la construction, je veux dire développer. Le projet est en cours de développement. Je n'ai pas encore utilisé les classes de formauthentication et de mémorisation. Pensez-vous que ce serait la bonne voie à suivre? Ma base de données utilisateur est très simple avec peu de tables (Utilisateurs, Rôles). – daehaai
activebiz - Je pense que vous devriez probablement utiliser les foms/membres intégrés car cela vous donne également (gratuitement) tous les contrôleurs et les décorateurs d'action [Authorize] etc., ce qui vous permettra de faire ce que vous voulez immédiatement au niveau du contrôleur . De plus, vous pouvez utiliser les tickets d'authentification, etc., etc. Vous pouvez également créer un profileprovider personnalisé qui vous permettra d'attacher votre table utilisateur directement dans la classe profileecommon. il y a beaucoup de bons liens sur ce genre de choses. Je les regarderai un peu plus tard si vous pensez que cela pourrait être un meilleur moyen de descendre. –