1. in der Global.asax.cs Datei hole ich die Rollenzugehörigkeit des Users!
protected void Application_AuthenticateRequest(Object sender, EventArgs e)
{
Logins.GetUserRoles();
}
Methode Logins.GetUserRoles!
public static void GetUserRoles()
{
HttpContext Context = HttpContext.Current;
if (!Context.Request.IsAuthenticated)
return;
// aktuelles Login holen (angemeldeter User)
Login curLogin = Logins.currentLogin;
// Holen seiner Rollen Zugehörigkeit
string[] myLoginRoles = GetUserRoles(curLogin);
// Kontrolle des Zugriffs
Context.User = new GenericPrincipal(Context.User.Identity,
myLoginRoles);
}
Methode Login.GetUserRoles
public static string[] GetUserRoles(Login login)
{
// Hier holst Du jetzt die Daten zum Vergleich. Entweder steht das in
// der DB - oder Du generierst eigene sachen. Einfach Sinnvolle Wörter //
nehmen
// Zb.:
string[] myLoginRoles = new String[2];
If (login.isAdmin)
myLoginRoles[0] = "Administrator";
if (login ....)
myLoginRoles[1] = "...";
// usw
Return myLoginRoles;
}
So und nun schreibste dir ne Web.Config - in der du die Zugriffsrechte
definierst!
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.web>
<authorization>
<allow roles="Administrator"/>
<deny users="*" />
</authorization>
</system.web>
</configuration>
Der Block schützt in dem Fall jetzt ein komplettes Verzeichnis - und lässt nur
noch Logins rein die als Rolle auch Administrator haben!
Das ganze kann man aber auch Pro Datei machen.
Aber Achtung - grundsätzlich werden nur ASPX Dateien geschützt! Keine Bilder,
Zip Dateien oder so was! (zumindest unter ASPNET 1.1)
-----Ursprüngliche Nachricht-----
Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Im Auftrag von Falk Harnisch
Gesendet: Dienstag, 11. Oktober 2005 10:19
An: [email protected]
Betreff: RE: [Asp.net] Sicherheitscheck durch Include
Kannst du mir mal ein konkretes Beispiel schicken?
-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
On Behalf Of Pessner, Andreas
Sent: Dienstag, 11. Oktober 2005 10:15
To: [email protected]
Subject: AW: [Asp.net] Sicherheitscheck durch Include
Und?
Du kannst die Kontrolle pro Seite und pro Verzeichnis definieren.
Einfach eine Methode den User und dessen Rollen lädt (besser cached)
schreiben - und bei einem Seitenaufruf wird automatisch gecheckt ob er
darf oder net.
-----Ursprüngliche Nachricht-----
Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Im
Auftrag von Falk Harnisch
Gesendet: Dienstag, 11. Oktober 2005 10:12
An: [email protected]
Betreff: RE: [Asp.net] Sicherheitscheck durch Include
Da ich mehrere Seiten habe, die je nach Benutzerrolle unterschiedliche
Moeglichkeiten bieten. Deshalb muss erst ein check mit der UserDB
erfolgen, ob entsprechende Rechte vorhanden sind.
Gruesse
Falkster
-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
On Behalf Of Alexander Zeitler
Sent: Dienstag, 11. Oktober 2005 10:00
To: [email protected]
Subject: RE: [Asp.net] Sicherheitscheck durch Include
Hallo,
>
> Hi,
> Ich moechte gerne in eine extra Klasse eine ueberpruefung
> rein bauen, ob
> der Zugriff auf meine Seite auch rechtens ist, wenn nicht, dann soll
> eine Weiterleitung auf die login Seite erfolgen.
> Jetzt weiss ich aber nicht, wie ich so eine Klasse bauen
> soll, da ich in
> dieser keinen Zugriff auf das Response und Request Objekt habe.
>
warum prüfst Du nicht einfach mittels Forms-Authentication,
ob der User authentifiziert ist?
Dann hast Du alles out-of-the-box.
Gruss
Alex
_______________________________________________
Asp.net Mailingliste, Postings senden an:
[email protected]
An-/Abmeldung und Suchfunktion unter:
http://www.glengamoi.com/mailman/listinfo/asp.net
_______________________________________________
Asp.net Mailingliste, Postings senden an:
[email protected]
An-/Abmeldung und Suchfunktion unter:
http://www.glengamoi.com/mailman/listinfo/asp.net
_______________________________________________
Asp.net Mailingliste, Postings senden an:
[email protected]
An-/Abmeldung und Suchfunktion unter:
http://www.glengamoi.com/mailman/listinfo/asp.net
_______________________________________________
Asp.net Mailingliste, Postings senden an:
[email protected]
An-/Abmeldung und Suchfunktion unter:
http://www.glengamoi.com/mailman/listinfo/asp.net
_______________________________________________
Asp.net Mailingliste, Postings senden an:
[email protected]
An-/Abmeldung und Suchfunktion unter:
http://www.glengamoi.com/mailman/listinfo/asp.net