Ik maak in m'n ASP.NET applicatie gebruik van forms-authentication.
Ik heb dus een login-pagina waar ik een user laat inloggen. Indien de user kan ge-authenticeerd worden, dan maak ik een authentication ticket.
Dat ticket schrijf ik dan weg als cookie.
In de constructor van het authenticationticket zie je een aantal argumenten:
DateTime.Now is de waarde die ik meegeef als issue-date
DateTime.MaxValue is de expiration date van het ticket -> dat is dus never.
true geeft aan dat het ticket persistent moet zijn.
Nu, als ik m'n sessie afsluit, is het cookie toch weg. Het is dus blijkbaar toch vervallen alhoewel ik aan m'n ticket meegeef dat het nooit mag vervallen.
Nu is mijn probleem opgelost als ik aan m'n cookie ook nog eens de expiration date meegeef:
Is het nu verkeerd van mij om te stellen dat dit eigenlijk niet nodig zou mogen zijn, omdat ik dat die gegevens aan m'n authentication ticket meegeef, of denk ik gewoon verkeerd en mag ik de expiration date van het ticket en de expiration date van de cookie niet met elkaar vergelijken / verwarren ?
Ik heb dus een login-pagina waar ik een user laat inloggen. Indien de user kan ge-authenticeerd worden, dan maak ik een authentication ticket.
Dat ticket schrijf ik dan weg als cookie.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
| FormsAuthenticationTicket authTicket;
authTicket = new FormsAuthenticationTicket (1,
_userInfo.UserName,
DateTime.Now,
DateTime.MaxValue,
true,
_userInfo.UserId.ToString());
HttpCookie authCookie = new HttpCookie (FormsAuthentication.FormsCookieName);
authCookie.Value = FormsAuthentication.Encrypt (authTicket);
Response.Cookies.Add (authCookie); |
In de constructor van het authenticationticket zie je een aantal argumenten:
DateTime.Now is de waarde die ik meegeef als issue-date
DateTime.MaxValue is de expiration date van het ticket -> dat is dus never.
true geeft aan dat het ticket persistent moet zijn.
Nu, als ik m'n sessie afsluit, is het cookie toch weg. Het is dus blijkbaar toch vervallen alhoewel ik aan m'n ticket meegeef dat het nooit mag vervallen.
Nu is mijn probleem opgelost als ik aan m'n cookie ook nog eens de expiration date meegeef:
code:
1
| authCookie.Expires = DateTime.MaxDate; |
Is het nu verkeerd van mij om te stellen dat dit eigenlijk niet nodig zou mogen zijn, omdat ik dat die gegevens aan m'n authentication ticket meegeef, of denk ik gewoon verkeerd en mag ik de expiration date van het ticket en de expiration date van de cookie niet met elkaar vergelijken / verwarren ?
https://fgheysels.github.io/