Лучшая практика для авторизации всех пользователей только на одной странице

Каков наилучший способ авторизовать всех пользователей на одной странице на сайте asp.net.

За исключением страницы входа и еще одной страницы, я запрещаю всем пользователям просматривать страницы на сайте.

Как сделать эту страницу доступной для всех пользователей?

20.08.2008 18:04:58
2 ОТВЕТА
РЕШЕНИЕ

Я использую проверку подлинности с помощью форм и создаю необходимые объекты GenericIdentity и CustomPrincipal, которые позволяют мне использовать функции типа User.IsInRole, которые вы обычно получаете только при проверке подлинности Windows.

Таким образом, в моем файле web.config я могу делать что-то вроде ...

<location path="Login.aspx">
   <system.web>
      <authorization>
         <allow users ="*" />
      </authorization>
   </system.web>
</location>

<location path="ManagementFolder">
   <system.web>
      <authorization>
         <allow roles ="Administrator, Manager" />
      </authorization>
   </system.web>
</location>
5
11.08.2012 16:03:50

Я создал базовый класс «page», который обрабатывает подобные вещи. После этого все мои страницы могут быть украшены атрибутом requireLogin, если для их просмотра требуется логин. Если атрибут отсутствует, страница доступна для всех.

Пример:

<RequiresLogin()> _ 
<RequiresPermission("process")> _
Partial Class DesignReviewEditProgressPage
    Inherits MyPage 'which inherits System.Web.UI.Page and deal with logins itself

    ...
End Class

Класс MyPage проверяет, какие атрибуты помечены для самого себя, и, если требуется RequLogin, он перенаправляет вас на страницу входа.

Я считаю, что это может быть адаптировано к вашей собственной проблеме.

-1
20.08.2008 18:12:40
Люди, которые понижают голос, должны быть обязаны написать причину !!
Moulde 25.09.2009 23:37:07