Voici mon code: (fonctionne très bien sur localhost mais pas sous-domaine, jamais Déconnecte l'utilisateur car le doesnt cookie obtenir expiré)
page de connexion:
FormsAuthentication.SetAuthCookie(UserName.Text, true);
// set the active collab cookie
Member member = MemberManager.GetMemberByUsername(UserName.Text);
HttpCookie cookie = new HttpCookie("Token", member.Profile.Token);
cookie.Domain = ConfigurationManager.AppSettings["CookieDomain"];
cookie.Expires = DateTime.Now.AddYears(1);
Response.Cookies.Add(cookie);
Globax ASAX
if (HttpContext.Current.Request.Cookies["Token"] != null) {
string token = HttpContext.Current.Request.Cookies["Token"].Value;
if (!string.IsNullOrEmpty(token)) {
// If the user is logged in with a different token
// or not logged in at all
// then log them in with the token from the cookie
if ((MemberManager.CurrentMember != null && MemberManager.CurrentMember.Profile.Token != token) || User == null) {
Member member = MemberManager.GetMemberByToken(token);
if (member != null) {
FormsAuthentication.SetAuthCookie(member.User.UserName, true);
}
}
}
}
Déconnexion code:
if (Request.Cookies["Token"] != null) {
HttpCookie aCookie = Request.Cookies["Token"];
aCookie.Expires = DateTime.Now.AddDays(-1);
Response.Cookies.Add(aCookie);
}
Web.Config
<machineKey
validationKey="{-snip-}"
decryptionKey="{-snip-}"
validation="SHA1"
decryption="AES" />
<authentication mode="Forms">
<forms name="AuthCookie"
path="/"
loginUrl="~/login.aspx"
protection="All"
timeout="60">
</forms>
</authentication>
Première: vous devriez mettre à jour votre question, pas poster un aswer. observations: vous n'avez généralement pas besoin de définir le domaine de cookie. Les cookies sont accessibles dans un TLD (domaine de premier niveau) et n'ont pas besoin d'être massés de cette manière. Si vos applications sont dans des TLD différents, cela ne fonctionnera pas, même si je pense que ce n'est pas votre problème. De plus, je ne comprends pas ce que vous essayez d'accomplir et je ne serai probablement pas en mesure de vous aider. Il semble que vous implémentez FormsAuthentication en parallèle à une autre stratégie de gestion d'authentification. Quelles sont vos raisons pour cela? –