Перенаправление при сбое авторизации - PullRequest
1 голос
/ 06 марта 2011

У меня есть несколько разделов

<location path="Page1.aspx">
    <system.web>
      <authorization>
        <allow roles="superadmin"/>
        <deny users="*" />        
      </authorization>
    </system.web>    
</location>

<location path="Page2.aspx">
    <system.web>
      <authorization>
        <allow roles="admin"/>
        <allow roles="superadmin"/>
        <deny users="*" />
      </authorization>
    </system.web>
</location>

Я хочу сделать перенаправление на указанную страницу, если авторизация не удалась.И это не общая страница.Я хочу сделать определенный редирект на основе страницы, которую хочет открыть пользователь.Как это можно сделать?

Заранее спасибо.

Ответы [ 3 ]

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

Я думаю, вам придется использовать собственную схему аутентификации.AFAIK, проверка подлинности с помощью форм использует одну и ту же страницу входа для всего веб-приложения.

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

Формы Auth?Используйте asp:Login control и LoginError событие

или

Укажите loginUrl

<system.web>
    <authentication mode="Forms">
        <forms name=".ASPXFORMSAUTH" loginUrl="Login.aspx" ... />
    </authentication>
</system.web>

, куда пользователь будет перенаправлен в случае сбоя аутентификации сredirectUrl в запросе.

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

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

...