2010-07-20 6 views
6

Dans mon travail, nous essayons de consolider l'authentification de la batterie d'applications avec Windows Identity Fundation (WIF) ou un composant personnalisé basé sur le fournisseur d'appartenance. Avec ceci, nous devons fournir aux développeurs (et utilisateurs finaux) un composant qui peut nous aider avec la logique des vues de gestion par rôle (RBAC - Role Based Access Control). Je n'ai rien trouvé. C'est l'idée: un utilisateur 'admin' peut voir les pages 'Accueil' et 'Administration'. Eh bien, comme un développeur, je ne veux pas écrire de code pour faire ce profilage. Pour ce faire, je m'attends à travailler avec un composant, qui encapsule cette complexité. La même idée pour gérer des événements, ou des actions dans l'applicationContrôle d'accès basé sur les rôles (RBAC) - Composant .Net

Savez-vous quelque chose comme ça? Quelque chose comme Role Provider, mais comme un composant générique, qui peut m'aider (comme le profilage dans Moodle, ou Joomla). Pour l'anecdote, l'anglais n'est pas ma langue de navite, et je l'apprends toujours.

Répondre

0

J'ai écrit mon propre composant pour exactement ce problème. Vous pouvez vous connecter aux répertoires Windows et autres, mais dans le passé, je ne voulais pas gérer les utilisateurs d'une application via Windows AD. J'écris donc mon propre sous-système basé sur les rôles et les privilèges pour mes applications.

Ce n'est pas beaucoup de travail à faire, et pour moi cela en valait vraiment la peine car j'y mettais exactement ce dont j'avais besoin et pas plus.

1

J'ai écrit le mien en utilisant Postsharp, juste en ajoutant des attributs aux méthodes dont vous avez besoin de contrôle d'accès.

+1

Pouvez-vous me montrer un exemple s'il vous plaît? Merci pour le conseil –

1

Pour répondre à votre question, oui, il y a peu de composants .net disponibles qui permettent à n'importe quelle application .net d'appliquer le RBAC. RBAC - RBAC - Le système de contrôle d'accès basé sur les rôles permet de restreindre l'accès à «certaines sources ou applications ou certaines fonctionnalités d'applications» en fonction des rôles des utilisateurs de l'organisation. Ici, les restrictions peuvent être au moyen de plusieurs autorisations, celles-ci sont créées par l'administrateur pour restreindre l'accès, et ces autorisations représentent collectivement un rôle qui sera assigné à l'utilisateur.

Et si nous allons légèrement plus loin dans RBAC, il contient essentiellement 3 caractéristiques. 1) Authentification - Elle confirme l'identité de l'utilisateur. Habituellement, cela se fait via les comptes d'utilisateurs et les mots de passe ou les informations d'identification. 2) Autorisation - Elle définit ce que l'utilisateur peut faire et ne peut pas faire dans une application. Ex. 'Modifier la commande' est autorisé mais 'créer une nouvelle commande' n'est pas autorisé. 3) Audit des actions de l'utilisateur sur les applications. - Il garde une trace des actions de l'utilisateur sur les applications, ainsi que qui a accordé quel accès à quels utilisateurs?

C'était une vue de dessus très basique du système RBAC. ASP.Net Membership Component est l'un des moyens de mettre en œuvre RBAC, vous pouvez également écrire votre propre système avec des fonctionnalités de base.

Il y a quelques articles gentils et utiles qui montrent de brèves informations et implémentation de RBAC.

http://www.visual-guard.com/EN/net-powerbuilder-application-security-authentication-permission-access-control-rbac-articles/dotnet-security-article-ressources/role-based-access-control.html

http://www.codeproject.com/Articles/875547/Custom-Roles-Based-Access-Control-RBAC-in-ASP-NET

Je recommande également quelques prêts à utiliser des composants VisualGuard (@which je travaille) et aussi MemberProtect.

Questions connexes