Токен аутентификации не работает должным образом в веб-приложении ASP.NET

Я преобразовал веб-сайт в веб-приложение, и теперь у меня странное поведение с приложением. По сути, это две сети. Один веб-сайт - это основной внешний сайт, написанный на ASP.NET 1.1, но с элементом членства, добавленным из версии 2.0. Другой - это бывший веб-сайт, который теперь превратился в веб-приложение.

Кажется, что когда я вхожу на веб-сайт (проект 1), я правильно перенаправляюсь в веб-приложение (проект 2). Однако любая ссылка, по которой я нажимаю, отправляет меня обратно для входа на веб-сайт (проект 1). Ключи компьютера одинаковы, и все свойства проверки подлинности форм одинаковы.

Я несколько раз останавливал IIS и удалял файлы во временной папке, но все равно не пошел. Очень неприятно.

Вот пример элемента моей формы для моего веб-приложения:

<forms domain="beta.domain.com" name=".ASPXAUTH" loginUrl="http://beta.domain.com/" protection="All" timeout="600" path="/" requireSSL="true" slidingExpiration="true" defaultUrl="https://beta.domain.com/app/" enableCrossAppRedirects="true"/>

Вот пример элемента моей формы для веб-сайта:

<forms name=".ASPXAUTH" enableCrossAppRedirects="true" timeout="600" defaultUrl="/QueryStringAuthenticate.aspx" loginUrl="/" protection="All" slidingExpiration="true" cookieless="UseDeviceProfile" domain="beta.domain.com" />

Затем на обоих у меня указано одно и то же значение ключа машины. Страница QueryStringAuthenticate.aspx на веб-сайте не изменилась. Он по-прежнему делает то же самое, что и всегда (получает имя cookie [.ASPXAUTH] и значение cookie [токен аутентификации]).


person Jason N. Gaylord    schedule 03.11.2009    source источник
comment
Вы уверены, что билет аутентификации правильно установлен на странице входа?   -  person Russ Cam    schedule 03.11.2009
comment
Вы установили атрибут name элемента форм в файле web.config?   -  person Greg    schedule 03.11.2009
comment
И если я изменю страницу default.aspx и проверю значение User.Identity.IsAuthenticated, оно будет True.   -  person Jason N. Gaylord    schedule 03.11.2009
comment
Это может быть проблема с этой машиной. Я попробовал другую машину, и она, похоже, работает. Перезагрузка после удаления временных файлов и файлов cookie. Ага!   -  person Jason N. Gaylord    schedule 04.11.2009


Ответы (1)


Наконец-то я понял. На самом деле это не имело ничего общего с самой аутентификацией, а скорее с настройками браузера. Очевидно, кто-то изменил наш файл образа для машин разработки, чтобы добавить сайт в список доверенных сайтов для HTTPS, но не добавил его без HTTPS. Итак, IE где-то сбрасывал соединение. Либо добавление как с HTTPS, так и без него, либо удаление этих записей решило проблему.

person Jason N. Gaylord    schedule 03.11.2009