Folgendes Szenario:
Man hat eine Asp.Net-Site, mit User-Verwaltung über Formulare (Membership-Provider).
Hier einige Infos, die man dazu kennen/können sollte:
User abmelden
Dies funktioniert über den Befehl
FormsAuthentication.SignOut
Angemeldeten User anzeigen
lblUsername.Text = Page.User.Identity.Name
- Quelle: http://msdn.microsoft.com/en-us/library/system.web.security.formsidentity_members(v=VS.71).aspx
Angemeldete UserID anzeigen
Membership.GetUser.ProviderUserKey (ev.: .ToString)
Ein Problem gibt es, wenn man die UserID sofort nach der Anmeldung benötigt, da sie erst beim nächsten Request hinterlegt wird (Es wird als Fehler NULL zurückgeliefert). Falls man das Login-Steuerelement verwendet, kann man von dort jedoch den Username auslesen und von diesem dann die UserID heraussuchen:
Membership.GetUser(Login1.UserName).ProviderUserKey (ev.: .ToString)
Caching
Dazu sollte man noch sicherstellen, dass der abgemeldete User nicht mehr in den geschützten Bereich „zurück“ kann, daher empfiehlt es sich, in das „Logged-In-Template“ folgenden Quellcode bei „Page_Load“ einzubauen:
Response.Expires = 60
Response.Expiresabsolute = Now().AddDays(-1)
Response.AddHeader("pragma","no-cache")
Response.AddHeader("cache-control","private")
Response.CacheControl = "no-cache"
- Quelle 1: http://www.velocityreviews.com/forums/t366031-asp-net-logout-from-code.html
- Quelle 2: http://bytes.com/topic/visual-basic-net/answers/384769-get-yesterday-date
Kategorien:Asp.Net