Вот мой код: (отлично работает на локальный, но не субдомен, никогда не регистрирует пользователя, потому что печенье не получает истёк)
Войти Страница:
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);
Глобакс 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);
}
}
}
}
Выход Код:
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>
Во-первых: вы должны обновить свой вопрос, а не сообщать об афере. наблюдения: обычно вам не нужно устанавливать домен cookie. Файлы cookie доступны по всему домену (домен верхнего уровня) и не нуждаются в массировании таким образом. Если ваши приложения находятся в другом TLD, тогда это просто не сработает, хотя я подозреваю, что это не ваша проблема. Кроме того, я не могу понять, чего вы пытаетесь достичь, поэтому я, вероятно, не смогу вам помочь. Кажется, что вы реализуете FormsAuthentication параллельно с другой стратегией управления проверкой подлинности. Каковы ваши причины для этого? –