Я создаю веб-приложение, размещенное под веб-сайтом, с включенной аутентификацией форм. У меня есть роль в моей базе данных аутентификации «Админы». Вот мой код контроллера:.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 фильтруется.
Не могли бы вы разместить код действия входа, в котором вы аутентифицируете пользователя? Это происходит только во всех браузерах или в Chrome? – Win