Авторизация Web.Config для доступа к папке

#asp.net #visual-studio-2010 #login #web-config

#asp.net #visual-studio-2010 #аутентификация #web-config

Вопрос:

При управлении правилами доступа в модуле входа. Есть ли явный запрет на все в конце?

Допустим, у меня есть две роли: Administrator и Member

Администраторам разрешен доступ к папке iPhone , а участникам разрешен доступ к папке Blackberry

Я управляю своими правилами и получаю следующий код в каждом web.config:

 "iPhone"
<system.web>
  <authorization>
    <allow roles="Administrator" />
  </authorization>
</system.web>

"Blackberry"
<system.web>
  <authorization>
    <allow roles="Member" />
  </authorization>
</system.web>
  

Но могут ли администраторы получить доступ к папке Blackberry, а участники — к папке iPhone? Или мне нужно добавить правило, говорящее deny roles="Administrator" в папке Blackberry и deny roles="Member" в папке iPhone?

Спасибо!!

Ответ №1:

Я так понимаю, вы имеете в виду использование ASP.net приложение…

Добавьте в:

 <deny users="*">
  

после ваших авторизованных пользователей.

Я думаю, вам также следует использовать user , а не role

http://msdn.microsoft.com/en-us/library/wce3kxhd.aspx

При создании нового веб-приложения все настройки web.config (глобальные, сайта и локальные) объединяются вместе, формируя конфигурацию, которая действительно действует для этого приложения. По умолчанию локальный web.config не содержит раздела авторизации, но наследует раздел, определенный глобально. Таким образом, вы всегда получаете запись.

http://www.leastprivilege.com/ASPNETAuthorizationSettings.aspx

Комментарии:

1. Ну, Эд и Тед, возможно, не совсем правильные имена, они больше похожи на пользователей. Но администратор и участник, я полагаю, были бы лучше?

2. и да, я использую asp.net приложение. Значит, даже если вы разрешаете роль для папки, вам все равно нужно использовать <запретить роли =»*»> ?

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

4. @Tom: Да, вам нужно явно запретить. При создании нового веб-приложения все настройки web.config (глобальные, сайта и локальные) объединяются вместе, формируя конфигурацию, которая действительно действует для этого приложения. По умолчанию локальный web.config не содержит раздела авторизации, но наследует раздел, определенный глобально. Таким образом, вы всегда получаете запись <разрешить пользователю =»*» /> .

5. хорошо, большое тебе спасибо, Джей Ди! То есть технически разрешать пользователям и ролям доступ к папкам не обязательно, только запрещать им доступ?