2009-08-06 6 views
3

Я пишу поставщика роли для роли, и мне нужен программный доступ к информации авторизации, хранящейся в файле web.config. Некоторые разделы сайта доступны только для определенных ролей. Я хотел бы узнать, какие роли могут получить доступ к странице и/или к какой странице доступ к определенной роли.Доступ к информации о авторизации в web.config

Я не могу показаться, чтобы это было видно.

ответ

8

Вы можете получить доступ к любой информации, такой как ConnectionStrings, AppSettings и другим определенным значениям в web.config классом WebConfigurationManager в пространстве имен System.Web.Security.

Допустим, вы определили и раздел авторизации как:

<system.web> 
<authorization> 
    <allow roles="admin,moderator" /> 
    <deny users="?" /> 
</authorization></system.web> 

Секция вы только что создали средства пользователей, которые имеет администратора и/или замедлитель ролей может получить доступ к страницам внутри и запретить каждому (анонимный), который пытается получить доступ без регистрационной информации.

Для того, чтобы что только взывать метод GetSection WebConfigurationManager как

AuthorizationSection auth = WebConfigurationManager.GetSection("system.web/authorization") as AuthorizationSection; 

класса AuthorizationSection даст вам Rules коллекцию, которая является именно то, что вы ищете.

+0

Я не нашел коллекцию 'Rules' в объекте' AuthenticationSection' ...? – awe

+0

AuthorizationSection имеет сбор правил. Я неправильно назвал имя класса. Это не AuthenticationSection, а AuthorizationSection, я отредактировал свое сообщение, чтобы проверить указанную вами ошибку, спасибо, что заметили это для меня. – Myra

Смежные вопросы