запутался в отношении аутентификации форм в ASP.NET MVC - PullRequest
1 голос
/ 17 декабря 2011

Вот мой раздел конфигурации:

<authentication mode="Forms">
    <forms loginUrl="~/Account/Login" timeout="43200" cookieless="UseCookies" slidingExpiration="true" />
</authentication>

Теперь в контроллере у меня есть:

FormsService.SignIn(userName, true);
var temp = User.Identity.IsAuthenticated;

Временное значение иногда устанавливается в ложь, а иногда в истину. Когда пользователь сам (действителен и в системе). Независимо от этого значения на моей странице aspx у меня есть:

<% if (Context.User.Identity.IsAuthenticated)
            { %>

это всегда приводит к истине. Так что я делаю не так в моем контроллере? И как мне проверить, аутентифицирован ли пользователь в контроллере?

Большое спасибо!

1 Ответ

1 голос
/ 18 декабря 2011

Вы должны перенаправить после аутентификации и настройки куки аутентификации.По последующему запросу пользователь будет действительно аутентифицирован.

public ActionResult LogOn()
{
    FormsService.SignIn(userName, true);
    return RedirectToAction("authenticated");
}
...