3

Я создаю веб-приложение, размещенное под веб-сайтом, с включенной аутентификацией форм. У меня есть роль в моей базе данных аутентификации «Админы». Вот мой код контроллера:.ASPXAUTH Cookie Not Found in Request.Cookies

[RequireHttps] 
[Authorize(Roles = "Admins")] 
public ActionResult Index() 
{ 
    return this.View(); 
} 

Когда я иду на индексной странице, если я не прошел проверку подлинности, он перенаправляет меня на страницу входа в систему, где я вхожу свои полномочия. Затем страница входа в систему переадресовывается на страницу индекса нового приложения, но контроллер не распознает, что пользователь аутентифицирован.

Я взял атрибут Authorize и просмотрел запрос, когда он вышел в консоли разработчика Chrome, и подтвердил, что файл cookie действительно отправляется. Но если я оставлю атрибут Authorize как есть, и перейдите на страницу индекса, коллекция файлов cookie по запросу в моем контроллере пуста. Коллекция заголовков содержит заголовок под названием «Cookie», а значение заголовка содержит файл cookie .ASPXAUTH.

Страница Войти вызовы логи с этим кодом:

FormsAuthentication.SetAuthCookie(userName, remember, "/"); 

Такое поведение является воспроизводимым во всех основных браузерах.

Что я могу сделать, чтобы вызвать заполнение коллекции Cookies запроса?
Что мне нужно сделать, чтобы приложение осознало, что пользователь действительно аутентифицирован?

Edit:
Я до сих пор не имеют его работы, но я уверен, что это что-то делать с куки ASPXAUTH фильтруется.

+0

Не могли бы вы разместить код действия входа, в котором вы аутентифицируете пользователя? Это происходит только во всех браузерах или в Chrome? – Win

ответ

1

Уверен, что существует множество причин этой проблемы. В моем случае проблема заключалась в том, что версия MVC, которую я использовал для написания файла cookie, отличалась от версии, которая расшифровывала его. Я изменил свои сайты, чтобы все выполняли MVC 4, а файл cookie, который был создан одним сайтом, расходуется другим сайтом.

+0

Как у вас есть две версии MVC для того же проекта? –

+0

Это были два отдельных проекта, которые использовали один и тот же файл cookie. – Dan

0

Является ли cookie .ASPXAUTH сгенерированным безопасным файлом cookie, то есть SSL? Если это так, и ваш Index.aspx работает только через HTTP, а не HTTPS, вы не увидите файл cookie в коллекции.

Смежные вопросы