ASP.net формирует настройку аутентификации returnURL для ссылки, когда пользователь уже вошел в систему

У меня есть сайт asp.net, который использует аутентификацию форм. Когда я предоставляю ссылку на защищенную страницу на веб-сайте в документе Microsoft Word, он устанавливает обратный URL-адрес, даже если я уже вошел на веб-сайт. Это означает, что я перенаправлен на страницу входа, которая затем направляет меня на страницу неавторизованного доступа, даже если я авторизован для просмотра страницы.

Мой код web.config:

<authentication mode="Forms">
  <forms protection="All" requireSSL="true" name="BSOAuthCookie" loginUrl="~/Login/Login.aspx" defaultUrl="~/secure/securepage.aspx" cookieless="UseCookies" timeout="30" />
</authentication>

Это код загрузки страницы моей страницы входа, чтобы перенаправить меня на страницу без авторизации:

        If Request.IsAuthenticated AndAlso Not String.IsNullOrEmpty(Request.QueryString("ReturnUrl")) Then
            ' This is an unauthorized, authenticated request...
            Response.Redirect("~/UnauthorisedAccess.aspx")
        End If

Если я добавлю ту же ссылку в электронное письмо и нажму, она будет работать нормально.

1 ответ

С использованием requireSSL="true" Вы заставляете аутентифицированные куки-файлы быть доступными только для чтения на защищенной странице, любая незащищенная страница не проходит аутентификацию.

Добавьте это утверждение в свой код и перед IsAuthenticated перепроверить, что вы звоните с защищенной страницы.

Debug.Assert(HttpContext.Current.Request.IsSecureConnection
                                                  , "Must be on secure page");

Также установите domain="sitename.com", без www, чтобы принудительно установить аутентифицированный куки-файл как с домена, так и с субдомена.

<authentication mode="Forms">
  <forms domain="sitename.com 
        protection="All" requireSSL="true" name="BSOAuthCookie" 
        loginUrl="~/Login/Login.aspx" defaultUrl="~/secure/securepage.aspx" 
            cookieless="UseCookies" timeout="30" />
</authentication>
Другие вопросы по тегам