ASP.NET: forms authentication

Plaats reactie
Gebruikersavatar
PowerSoft
Premium Member
Premium Member
Berichten: 589
Lid geworden op: 30 maa 2004, 20:33
Uitgedeelde bedankjes: 6 keer
Bedankt: 1 keer

Is er mssn iemand die mij kan helpen om ervoor te zorgen dat ik een persistent cookie kan creëren bij custom forms authentication;

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?
khsw
Elite Poster
Elite Poster
Berichten: 1158
Lid geworden op: 03 maa 2004, 09:04
Uitgedeelde bedankjes: 18 keer
Bedankt: 16 keer

Ik vermoed dat het probleem ligt in je Response.Redirect() op het einde. Wanneer je dit doet, wordt er geen data naar de client gestuurd. Maw, de client krijgt de cookie nooit te zien.

Je kan beter gebruik maken van FormsAuthentication.RedirectFromLoginPage(). Deze plaatst de cookie en zorgt voor een redirect naar juiste pagina.
Lukse
Premium Member
Premium Member
Berichten: 662
Lid geworden op: 28 okt 2003, 20:51

Gebruik ipv die Response.Redirect eens ne FormsAuthentication.RedirectFromLoginPage

Edit:
'k moet wa sneller zijn de volgende keer :wink:
Gebruikersavatar
PowerSoft
Premium Member
Premium Member
Berichten: 589
Lid geworden op: 30 maa 2004, 20:33
Uitgedeelde bedankjes: 6 keer
Bedankt: 1 keer

Heel erg bedankt khsw!

Dit was inderdaad het probleem, ik had eigenlijk al een beetje gedacht dat het antwoord van jou ging komen want je blog staat al tijdje bij mijn favo's :)

ik zat er al even op te zoeken want de docent vond ook niet onmiddelijk het probleem (hij stelde die setAuthCookie voor)

nogmaals bedankt dus :)

edit: jij ook bedankt lukske :) (ik zal mssn wel wat meer vragen stellen nu ik weet dat ier hier meerdere asp.net 'ers zijn :))
khsw
Elite Poster
Elite Poster
Berichten: 1158
Lid geworden op: 03 maa 2004, 09:04
Uitgedeelde bedankjes: 18 keer
Bedankt: 16 keer

PowerSoft schreef:je blog staat al tijdje bij mijn favo's :)


Leuk om te weten dat er ook mensen zijn die mijn blog lezen :wink:
Heb net een counter erop gezet, ben er eigenlijk wel eens benieuwd naar...
Gebruikersavatar
PowerSoft
Premium Member
Premium Member
Berichten: 589
Lid geworden op: 30 maa 2004, 20:33
Uitgedeelde bedankjes: 6 keer
Bedankt: 1 keer

khsw schreef:
PowerSoft schreef:je blog staat al tijdje bij mijn favo's :)


Leuk om te weten dat er ook mensen zijn die mijn blog lezen :wink:
Heb net een counter erop gezet, ben er eigenlijk wel eens benieuwd naar...


ja ik moet wel veel lezen want kheb nog veel te leren :)
Plaats reactie

Terug naar “Development”