webForumDet fria alternativet

persistent cookie vid inloggning

.NET

4 svar · 300 visningar · startad av Dino

Medlem sedan sep. 20011 914 inlägg
Frågan#1

Har denna kod vid en inloggning, men av någon anledning så skapas det inte någon persistent cookie när ckbLogCookie.Checked är true. Någon som ser vad som är fel.

Dim fTicket As String = FormsAuthentication.Encrypt(New FormsAuthenticationTicket(1, tbLogUsername.Text, DateTime.Now, System.DateTime.Now.AddMinutes(30), ckbLogCookie.Checked, "data"))  
Response.Cookies.Add(New HttpCookie(FormsAuthentication.FormsCookieName, fTicket))
Response.Redirect(Request.Params("ReturnUrl"))
Medlem sedan apr. 20012 266 inlägg
#2

Du kan även använda
SetAuthCookie( String userName , Boolean createPersistentCookie )

och sedan lägga till resten av datan i Authenitcation_Request(?) i global.asax

Medlem sedan sep. 20011 914 inlägg
#3

Jo, men då sker det ju vid varje request och det ser jag ingen anledning till. (rätta mig)
Tanken är att vid inloggningen så skapas en auth cookie som förutom den vanliga datan även skall ha lite userdata. Och userdatan behöver jag bara verifiera på ett begränsat antal undersidor. Därför anväder jag denna metod och inte tex FormsAuthentication.RedirectFromLoginPage.
Koden gör att det blir en cookie, men en session.

Medlem sedan apr. 20012 266 inlägg
#4

Hum, blev osäker nu. Låter som om Application_OnAuthenticateRequest endast körs efter eller vid inloggningen och sedan sparar den rolerna som satts då. Ska testa när jag kommer hem, har inte .net i skolan.

Medlem sedan sep. 20011 914 inlägg
#5

"Occurs when a security module has established the identity of the user." Så du har nog rätt, men kan inte hitta något bra exempel på hur jag skall göra så testa det gärna när du har tid. :)

253 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)