Аутентификация ASP.NET с помощью [Авторизовать] - PullRequest
1 голос
/ 30 ноября 2008

Я определил контроллер для принудительной аутентификации с помощью атрибута [Authorize]. Когда время сеанса истекло, запрос все еще передается и выполняется вместо принудительного перенаправления.

Я использую FormsAuthentication для входа и выхода из системы.

Есть идеи, как это контролировать?

Пример:

[Authorize]
public class ProjectsController : Controller
{
    public ActionResult Index()
    {
        return View();
    }
}

Ответы [ 3 ]

1 голос
/ 30 ноября 2008

Опять же, ASP.NET MVC строится поверх традиционного ASP.NET. Да, есть «встроенная проверка подлинности» ... это точный такой же API членства, который использует традиционный ASP.NET.

Значение ... здесь проблема в другом. Может быть, у вас включены скользящие сеансы ... или, возможно, время ожидания выше, чем вы думали, и т. Д.

1 голос
/ 30 ноября 2008

Для отслеживания пользовательских сессий ASP.NET использует ASP.NET_SessionId cookie. Для отслеживания аутентифицированных пользователей ASP.NET использует файл cookie ASPXAUTH (по умолчанию).

Когда время сеанса истекает, файл cookie ASP.NET_SessionId может больше не отправляться клиентом, но файл cookie ASPXAUTH по-прежнему отправляется, что может объяснить, почему выполняется ваше действие.

Чтобы переопределить значения проверки подлинности форм по умолчанию, вы можете посмотреть здесь . Я также предлагаю вам использовать расширение firebug , чтобы точно узнать, какие куки отправляются клиентом.

0 голосов
/ 30 ноября 2008

Исходя из вашего другого вопроса , я думаю, вы вообще не попадаете на этот контроллер.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...