2010-07-20 12 views
6

In meinem Job versuchen wir, die Authentifizierung der Anwendungsfarm mit Windows Identity Fundation (WIF) oder einer benutzerdefinierten Komponente in Membership Provider zu konsolidieren.Rollenbasierte Zugriffssteuerung (RBAC) - .Net Komponente

Damit müssen wir den Entwicklern (und den Endbenutzern) eine Komponente bereitstellen, die uns bei der Logik der Verwaltungsansichten nach Rolle (RBAC - Role Based Access Control) unterstützt. Ich konnte nichts finden.

Das ist die Idee: Ein Benutzer 'admin' kann 'Home' und 'Administration' Seiten anzeigen. Nun, ich möchte, wie ein Entwickler, keinen Code schreiben, um dieses Profiling durchzuführen. Zu diesem Zweck erwarte ich, mit einer Komponente zu arbeiten, die diese Komplexität kapselt. Die gleiche Idee, Ereignisse oder Aktionen in der Anwendung zu verwalten

Kennen Sie so etwas? Etwas wie Role Provider, aber wie eine generische Komponente, die mir helfen kann (wie das Profiling in Moodle oder Joomla).

Nur für das Protokoll, Englisch ist nicht meine Navite Sprache, und ich lerne es immer noch.

Antwort

0

Ich habe meine eigene Komponente für genau dieses Problem geschrieben. Sie können eine Schnittstelle zu Windows-Verzeichnissen usw. herstellen, aber in der Vergangenheit wollte ich die Benutzer einer Anwendung nicht über Windows AD verwalten, daher schreibe ich mein eigenes rollen- und privilegienbasiertes Subsystem für meine Anwendungen.

Es ist nicht viel Arbeit zu tun, und für mich war es es sehr wert, weil ich genau das hineinlegte, was ich brauchte und nicht mehr.

1

Ich schrieb mir mit Postsharp, nur durch Hinzufügen von Attributen zu den Methoden, die Sie Zugriffskontrolle benötigen.

+1

Können Sie mir bitte ein Beispiel zeigen? Danke für den Rat –

1

Um Ihre Frage zu beantworten, ja, es gibt nur wenige. NET-Komponenten zur Verfügung, mit denen alle. NET-Anwendungen RBAC anwenden können.

RBAC - Rollenbasiertes Zugriffskontrollsystem ist eine Methode, um den Zugriff auf "einige Quellen oder Anwendungen oder einige Funktionen von Anwendungen" basierend auf den Rollen von Organisationsbenutzern zu beschränken. Beschränkungen können dabei durch mehrere Berechtigungen erfolgen, die vom Administrator zur Einschränkung des Zugriffs erstellt werden. Diese Berechtigungen stellen zusammen eine Rolle dar, die dem Benutzer zugewiesen wird.

Und wenn wir in RBAC etwas tiefer gehen, enthält es im Wesentlichen 3 Funktionen. 1) Authentifizierung - Es bestätigt die Identität des Benutzers. Normalerweise geschieht dies über Benutzerkonten und Passwörter oder Anmeldeinformationen. 2) Autorisierung - Es definiert, was Benutzer in einer Anwendung tun können und was nicht. Ex. 'Bestellung ändern' ist erlaubt, aber 'neue Bestellung erstellen' ist nicht erlaubt. 3) Auditing von Benutzeraktionen in Anwendungen. - Er verfolgt die Aktionen des Benutzers in Anwendungen und wer hat welchen Zugriff welchen Benutzern gewährt?

Dies war sehr grundlegende Draufsicht Bild von RBAC-System.

ASP.Net Mitgliedschaft Komponente ist eine der Möglichkeiten, RBAC zu implementieren, Sie können auch Ihr eigenes System mit grundlegenden Funktionen schreiben.

Es gibt einige nette und hilfreiche Artikel, die kurze Informationen und Implementierung von RBAC zeigt.

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

Ich empfehle einige bereit auch Komponenten verwenden VisualGuard (@which Ich arbeite) und auch MemberProtect.