Сведения о вопросе

nikolya

21:06, 1st October, 2020

Теги

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

Просмотров: 386   Ответов: 2

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

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

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



  Сведения об ответе

padenie

04:26, 29th August, 2020

Я использую проверку подлинности форм и создаю необходимые объекты 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>


  Сведения об ответе

nYU

19:32, 20th August, 2020

Я создал базовый класс "page", который обрабатывает такие вещи. Все мои страницы могут быть украшены атрибутом RequiresLogin, если для их просмотра требуется логин. Если атрибут отсутствует, страница доступна для всех.

Пример:

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

    ...
End Class

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

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


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться