Я разработал веб-сайт с ASP.NET. Теперь я делаю аутентификацию.FormsAuthenticationTicket исчез после Response.Redirect operation
Авторизация создана другой веб-службой. Если ответ от веб-сервиса является успех, я создать билет:
var ticket = new FormsAuthenticationTicket(1, param.Login, DateTime.Now, DateTime.Now.AddDays(1), false, string.Empty, FormsAuthentication.FormsCookiePath);
var encTicket = FormsAuthentication.Encrypt(ticket);
var AuthCookie = new HttpCookie(FormsAuthentication.FormsCookieName)
{
Value = encTicket,
Expires = DateTime.Now.AddDays(1)
};
Response.Cookies.Set(AuthCookie);
Этот код добавляется печенье подлинности. Но если я добавлю следующую строку после предыдущего кода:
Response.Redirect("<redirect address>");
cookie исчез после перенаправления.
Почему это произошло?
web.config часть аутентификации здесь:
<authentication mode="Forms">
<forms name=".ASPXFORMSAUTH" loginUrl="~/login.ashx" />
</authentication>
в Response.Redirect(), вы направляете пользователя на тот же сайт или на внешний веб-сайт? В случае, если вы направляетесь на тот же веб-сайт, появляется ли страница входа после выполнения Response.Redirect()? –
Я перенаправляю пользователя на тот же сайт. – Elena