Hi,
Ich habe das bei mir so umgesetzt:
Login Seite:
..."Rolle aus Datenbank auslesen (Parameter 3 der Stored Procedure)...
..."Cookie mit allen notwendigen Daten schreiben"
Dim XUserData as String = sqlCmd.Parameters(3).Value.ToString() & ";" &
UserPassXact.Value
Dim XTicket as FormsAuthenticationTicket = new FormsAuthenticationTicket(1,
UserNameXact.Value, DateTime.Now, DateTime.Now.AddMinutes(480), true,
XUserData, FormsAuthentication.FormsCookiePath)
Dim XHash as String = FormsAuthentication.Encrypt(XTicket)
Dim XCookie as HttpCookie = new
HttpCookie(FormsAuthentication.FormsCookieName, XHash)
Response.Cookies.Add(XCookie)
Response.Redirect(Request.QueryString("ReturnUrl"))
Andere Seiten:
Public splitter as char = ";"
Private XID as FormsIdentity = HttpContext.Current.User.Identity
Private XTicket as FormsAuthenticationTicket = XID.Ticket
Private XUserData as String = XTicket.UserData
Private XCredentials() as String = XUserData.Split(splitter)
Private XUser as String = User.Identity.Name
Private XPassword as String = XCredentials(1)
Private XRole as String = XCredentials(0)
private sub Page_Load()
if (XRole <> "Webadmin")
Response.Redirect("../403.htm")
end if
if Not IsPostBack Then
end if
end sub
Mit freundlichen Gr��en,
Martin
-----Urspr�ngliche Nachricht-----
Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Im
Auftrag von Lars Berner
Gesendet: Donnerstag, 21. August 2003 12:37
An: [EMAIL PROTECTED]
Betreff: [Asp.net] Frage zu Authentifizierung /Autorisierung:
Meine Anwendung hat drei Unterverzeichnisse: Admin, Jeder, UserBereich.
Die genannten Verzeichnisse liegen ein Verzeichnis �berhalb des untersten
Verzeichnisses meiner Anwendung.
Jetzt habe ich folgendes bisher ohne Erfolg versucht mit unten stehender
Anweisung
...
HttpContext.Current.User = myCurrentUser (�myCurrentUser Instanz der
Klasse
GenericPrincipal)
FormsAuthentication.RedirectFromLoginPage(myCurrentUser.UserName,
False)
...
umzusetzen: Auf der Ebene der Application habe ich an der Web.config nichts
ge�ndert ausser dass ich den Verweis bei erfolgloser Authentifizierung auf
meine Login-Seite lenke und Modus "Forms" w�hle:
<authentication mode="Forms">
<forms loginUrl="FrontEnd/Jeder/Login.aspx">
</forms>
</authentication>
In das Verzeichnis UserBereichhabe ich folgende Web.config gelegt
<system.web>
<authorization>
<allow roles="OkRolle, AdminRolle" />
<deny roles="DenyRolle" />
<deny users="?" />
<!--<deny users="*" /> -->
</authorization>
</system.web>
weil ich (vorher alles im Code festgelegt) nur m�chte, dass diejenigen User
Zugriff auf diesen Abschnitt haben, die der Rolle "AdminRolle"oder
"OkRolle" angeh�ren. Anhand einer Datenbankabfrage werden die Userdaten
�ber das login-Form eingelesen. Hierbei scheint die Anwendung allerdings
gegen (hilflos sei :-( ) zu ignorieren, wenn der User ausschlieslich die
Rolle "DenyUser" inne hat und diesem trotzdem Zugriff zu gew�hren !?!?
Im Admin-Verzeichnis habe ich folgende web.config:
<system.web>
<authorization>
<allow roles="AdminRolle" />
<deny roles="OkRolle, DenyRolle" />
<deny users="*" />
</authorization>
</system.web>
Was muss denn anders gemacht werden, dass das Ganze richtig funktioniert?
Da sind doch sicher logische Fehler drin !?
Viele Gr�sse
LB
www.zoologie-online.de
Lars Berner
Stormcrow-Software
Postfach: 110123
69071 Heidelberg
_______________________________________________
Asp.net mailing list
[EMAIL PROTECTED]
http://www.glengamoi.com/mailman/listinfo/asp.net