#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. хорошо, большое тебе спасибо, Джей Ди! То есть технически разрешать пользователям и ролям доступ к папкам не обязательно, только запрещать им доступ?