ASP .NET на основе ролевой аутентификации против ограничений на основе страниц (класс страниц) - PullRequest
2 голосов
/ 18 февраля 2010

В настоящее время у нас есть сайт, где почти все страницы попадают в некоторый класс страниц, который является подклассом System.Web.UI.Page. Обычно подклассы управляют стилем - верхними и нижними колонтитулами и т. Д. - тем вещами, которые отображаются на том классе страниц, который мы хотим для всех классов.

Для одного конкретного класса мы проверяем некоторые переменные сеанса, чтобы увидеть, есть ли у пользователя доступ к этой конкретной странице. Если нет, их перенаправляют и говорят, что у них нет доступа.

С тех пор я реализовал пользовательский поставщик ролей и сейчас обновляю все мои файлы web.config с до.

Возник вопрос: почему бы не реализовать ограничения на основе страниц в классе страниц вместо реализации методологии поставщика ролей.

Честно говоря, когда я впервые рассмотрел эту тему, мне показалось, что произошло столкновение между тем, чтобы классы страниц выполняли авторизацию. Однако мне трудно найти причины, по которым авторизация на основе класса страниц была бы плохой идеей прямо сейчас.

Если вы в состоянии понять, о чем я говорю, где мы устанавливаем информацию о доступе (авторизации) в процессе входа в систему, а затем используем эту (основанную на сеансе) информацию, чтобы "авторизовать" пользователя для доступа к странице на основе Класс страниц по сравнению с использованием встроенной методологии поставщика ролей ASP .NET, я был бы признателен за ваши мысли по этому вопросу. Особенно, если у вас есть опыт в этой области.

Спасибо.

1 Ответ

2 голосов
/ 18 февраля 2010

Ну, оба варианта возможны, ИМХО, все сводится к тому, хотите ли вы использовать схему авторизации ASP.NET (разрешает, запрещает в web.config) или кодировать ее на странице.

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

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