ik gebruik nu volgende code
Code: Selecteer alles
Private Sub DoeFormsAuthentication(ByVal oUser As clsUser)
'lijst van groepen waarin gebruiker zit opvragen
Dim arlGroepen As New ArrayList
arlGroepen.Add("users")
If oUser.IsAdmin Then
arlGroepen.Add("admins")
End If
'arl naar array converteren
Dim sarrString As String() = arlGroepen.ToArray(GetType(String))
' Array van strings aan mekaar plakken in één string met | als scheidingsteken
' { "verkoop", "klanten" } wordt zo dus "verkoop|klanten"
'
' Reden: in het ticket kunnen we maar één string stoppen, en geen array van strings
Dim sGroepen As String = String.Join("|"c, sarrString)
'ticket aanmaken
Dim oTicket As New FormsAuthenticationTicket(1, oUser.Login, DateTime.Now, DateTime.Now.AddMinutes(20), True, sGroepen)
'ticket versleutelen
Dim sVersleuteldTicket As String = FormsAuthentication.Encrypt(oTicket)
' Cookie aanmaken met ticket erin (naam hebben we ingesteld in web.config)
Dim oCookie As New HttpCookie(FormsAuthentication.FormsCookieName)
oCookie.Value = sVersleuteldTicket
' De pagina die de gebruiker oorspronkelijk wou bekijken opvragen en ernaartoe
' gaan straks
Dim sUrl As String
sUrl = FormsAuthentication.GetRedirectUrl(oUser.Login, True)
'cookie naar browser sturen
Response.Cookies.Add(oCookie)
'naar pagina gaan vanwaar gebruiker kwam
Response.Redirect(sUrl)
End Sub
echter de cookie wordt nu nooit op de hdd geschreven
ik weet ook dat je met
Code: Selecteer alles
FormsAuthentication.SetAuthCookie(oUser.Login, True)
wel een persitent cookie kan wegschrijven, echter daarin zitten geen groepen opgeslaan.
Iemand die kan helpen?