Аутентификация формы asp.net изменить .net 2 на .net4 - PullRequest
4 голосов
/ 01 декабря 2011

Вот мой раздел аутентификации форм из моего web.config

<authentication mode="Forms">
  <forms name="security" path="/" loginUrl="default.aspx" protection="All" timeout="360" />
</authentication>

<authorization>
  <deny users="?" />
</authorization>

По какой-то причине после перехода на .net 4 в качестве моей цели, люди должны войти в систему дважды, прежде чем моя аутентификация формы перенаправляет сейчас.Кто-нибудь еще сталкивался с этим.

Кроме того, мой логин находится на домашней странице, поэтому я попробовал описанное ниже, думая, что мне просто нужно сделать мою страницу логина общедоступной, но это не сработало.Кто-нибудь еще имеет эту проблему?

Также я заметил, что как только я захожу на свою домашнюю страницу, я получаю это в URL default.aspx? ReturnUrl =% 2f , если я удаляю параметр ReturnUrl,Затем он работает, чтобы войти в первый раз.Но если ReturnUrl находится в строке запроса, я должен войти в систему дважды при первом посещении сайта.

default.aspx? ReturnUrl =% 2f

Поэтому я добавил страницу в общий доступ в своих местах иэто не помогло ..

<location path="default.aspx">
<system.web>
  <authorization>
    <allow users="*" />
    <deny users="?" />
  </authorization>
</system.web>

Ответы [ 2 ]

2 голосов
/ 01 декабря 2011

Когда ваш URL-адрес такой: default.aspx? ReturnUrl =% 2f, после входа он перенаправляет обратно на страницу по умолчанию, которая является страницей по умолчанию. Если вы добавили код на страницу по умолчанию:

If (this.User.Identity.IsAuthenticated)
{
    Response.Redirect("somepage.aspx");
}

Эта проблема исчезнет. Это не потому, что они должны войти в систему дважды, а потому, что они продолжают возвращаться на страницу по умолчанию.

1 голос
/ 18 февраля 2014

В настройках диспетчера сервера IIS документ по умолчанию использовался как страница Login.aspx.В теге Forms в файле web.config для defaulturl задана страница по умолчанию.Я удалил страницу входа в систему по умолчанию в диспетчере серверов IIS, и проблема исчезла.Мне кажется, что диспетчер IIS должен обновить этот тег в файле web.config выглядит как ошибка.Вместо перенаправления при загрузке страницы, я бы пошел с этим исправлением, а для меня это более безопасно.

Таким образом, в этом случае вы бы изменили свои loginurl = login.aspx и defaulturl = pageafterlogin.aspx и без проблем на вашем сервере по умолчанию никаких проблем не возникает.

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