проверка подлинности формы ASP.Net не удается - PullRequest
0 голосов
/ 30 марта 2011

Есть портал, который использует аутентификацию форм LoginUrl = Login.aspx DefaultUrl = Default.aspx

Учетные данные пользователя находятся в дБ ... Таким образом, во время входа в систему мы получаем все учетные данные пользователя - таким образом, мы достигаем db, аутентифицируемый пользователем (Fidler показывает http 302 для default.aspx), перенаправляет на deault.aspx и возвращается на страницу входа опять же, как мы не аутентифицированы, но мы делаем это

есть 4 машины на проекте - 3 работает нормально - моя - нет! Сравните все данные - у меня такой же веб-конфиг, настройки iis и т. Д.

что бы это могло быть?

Спасибо

Ответы [ 3 ]

0 голосов
/ 30 марта 2011

Вы указали домен для элемента форм в файле web.config?Если это так, URL-адрес запроса должен находиться в домене, или форма аутентификации просто не будет работать.Localhost также не будет работать.

Если вы тестируете систему разработки, вы можете добавить полное имя домена в файл hosts ([SystemDrive]: \ Windows \ System32 \ Drivers \ Etc \хосты).

0 голосов
/ 01 апреля 2011

итак, я исправил проблему ... причина - мое невнимательность ...

итак, я снова использую fiddler для анализа моих запросов / ответов ... итак, 1) перейти к стандартному 2)перенаправить в Login и ввести логин-пароль 3) пользователь, найденный в db - создан тикет FormAuthentication 4) перенаправить в Default 5) Пользователь не прошел проверку подлинности и вернется на страницу входа ....

, так что Fiddler показываетчто на шаге 3 создание и отладка файлов cookie показывают, что пользователь прошел проверку подлинности.Но куки не передаются на страницу Dfeault.Я обнаружил, что файлы cookie со страницы входа имеют отметку «Безопасный».Это означает, что у меня есть свойство requireSSL = true в webconfig ... но по умолчанию requireSSL имеет значение false ... что-то перезаписывает его ... Я нашел еще один файл конфигурации в папке верхнего уровня с requireSSL = true ...когда я удаляю файл конфигурации верхнего уровня - все начинает работать нормально ...

конечно, стандартная ситуация, чтобы пропустить что-то ... но такой интересный эффект я вижу в первый раз - сделать аутентификацию и ее разрыв во время перенаправления по умолчаниюстраница - может быть, это поможет кому-то сэкономить его / ее время в дальнейшем ...

но в любом случае - спасибо, что люди ответили мне за проблему:)

0 голосов
/ 30 марта 2011

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

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