Forums Neueste Beiträge
 

Security Implementationen

31/10/2008 - 15:17 von Albert Andersson | Report spam
Hallo zusammen

Ich überlege mir gerade wie ich die Rechteverwaltung in meine
Applikation mit einfliessen lassen kann und wollte mir mal eure Meinung
zum Thema anhören.

Ich habe mir das so Vorgestellt:
- In der DB gibt es eine Tabelle, in der jedes einzelne Rech (zB.
löschen von X, Erstellen von Y) definiert ist.
- zudem gibt es eine tabelle welche diese Rechte in gruppen
zusammenfasst (zb. Administratoren) und gleichzeitig die verknüpfung ins
Active Directory darstellt. (Person muss im AD in dieser Gruppe sein um
die Aktion auszuführen.
- Die benötigten Daten werden beim Einloggen in der Session abgelegt.

Anwenden wollte ich das ganze, in dem die Controlls beim erstellen
nachfragen lasse wie sie sich verhalten sollen.

Ich habe also einen Button zum Löschen eines Eintrages. Im PreRender
Ereignis ruft dieser (wie alle relevanten controlls) die Klasse
ControlSecurity auf.
In dieser wird mit der Button-ID und der Tabellen in der DB Validiert ob
der Benutzer die entsprechenden Rechte hat, und setzt den Button je nach
dem Aktiv, Inaktiv oder sichbar unsichtbar.

Um Problemen vorzubeugen, werden wichtige Controlls immer Inaktiv oder
Unsichtbar initialisiert.

Das ganze wàre dann in Etwa das White-List Prinzip.

Bin für Vorschlàge offen.

mfg
Albert
 

Lesen sie die antworten

#1 Sven Becker
03/11/2008 - 08:31 | Warnen spam
Hallo Albert,

wenn ich dich richtig verstehe, ist das eine klassische Anwendung für einen
eigenen RoleProvider. Über User.Identity bekommst die Informationen zum User,
der die Web-Seite aufruft. Die Zugriffslogik kannst du dann entweder direkt
in deine RoleProvider-Klasse integrieren oder teilweise in deine Datenbank
auslagern.

Die Freigabe von einzelnen Controls erfolgt dann sehr komfortabel über z.Bsp.

ctrl.visible = user.IsInRole("ADMIN") (wenn deine Rolle ADMIN heißt).

Der Zugriff auf ganze Web-Seiten làsst sich dann auch über die Web-Config
steuern.

Es lohnt sich, in der Hilfe unter dem Begriff RoleProvider nachzulesen.

Gruß,
Sven

"Albert Andersson" wrote:

Hallo zusammen

Ich überlege mir gerade wie ich die Rechteverwaltung in meine
Applikation mit einfliessen lassen kann und wollte mir mal eure Meinung
zum Thema anhören.

Ich habe mir das so Vorgestellt:
- In der DB gibt es eine Tabelle, in der jedes einzelne Rech (zB.
löschen von X, Erstellen von Y) definiert ist.
- zudem gibt es eine tabelle welche diese Rechte in gruppen
zusammenfasst (zb. Administratoren) und gleichzeitig die verknüpfung ins
Active Directory darstellt. (Person muss im AD in dieser Gruppe sein um
die Aktion auszuführen.
- Die benötigten Daten werden beim Einloggen in der Session abgelegt.

Anwenden wollte ich das ganze, in dem die Controlls beim erstellen
nachfragen lasse wie sie sich verhalten sollen.

Ich habe also einen Button zum Löschen eines Eintrages. Im PreRender
Ereignis ruft dieser (wie alle relevanten controlls) die Klasse
ControlSecurity auf.
In dieser wird mit der Button-ID und der Tabellen in der DB Validiert ob
der Benutzer die entsprechenden Rechte hat, und setzt den Button je nach
dem Aktiv, Inaktiv oder sichbar unsichtbar.

Um Problemen vorzubeugen, werden wichtige Controlls immer Inaktiv oder
Unsichtbar initialisiert.

Das ganze wàre dann in Etwa das White-List Prinzip.

Bin für Vorschlàge offen.

mfg
Albert

Ähnliche fragen