динамически разрешать роли на странице или в папке - PullRequest
0 голосов
/ 04 ноября 2011

Я использую веб-формы asp.net.Я использую web.config, чтобы определить, какие роли могут иметь доступ к страницам и папкам.как это

   <system.web>
     <authorization>
       <allow roles="Admin" />
       <deny users="*" />
     </authorization>
   </system.web>

как я могу сделать это динамически?поэтому без развертывания я мог бы добавить роль, например «Разработчик»

Можно ли как-то прочитать их из базы данных?спасибо

1 Ответ

1 голос
/ 04 ноября 2011

Не уверен, что именно вы спрашиваете здесь ...

Видимая вами авторизация известна как Авторизация URL и предоставляется встроенным модулем ASP.NET.Эта реализация использует контекст, связанный IPrincipal (HttpContext.User), чтобы увидеть, что аутентифицированный пользователь является членом настроенной роли.Поэтому, если вы хотите иметь собственные произвольные роли (вместо ролей Windows), вы можете предоставить собственную реализацию IPrincipal, которая будет извлекать назначенные роли для текущего пользователя из базы данных (или любого другого источника, который вы хотите использовать).использования).Однако информация об авторизации по-прежнему останется в файле конфигурации.

В случае, если вы хотите переместить информацию об авторизации (кто к чему имеет доступ), вы можете реализовать свой собственный модуль авторизации.Модуль может считывать эту информацию из базы данных и обеспечивать безопасность доступа так, как вы хотели.

...