Настройки членства в ASP.NET Web.config
Я хочу понять, как работает тег авторизации system.web на web.config, и что именно делает каждый атрибут и свойство.
Например, что делает
<system.web>
<authorization>
<deny users="?"/>
<allow users="*"/>
</authorization>
</system.web>
В частности, я хочу запретить доступ к большей части сайта для неаутентифицированных пользователей, разрешить доступ к некоторым сайтам для аутентифицированных пользователей, принадлежащих к определенной роли, и предоставить полный доступ пользователям из второй роли.
2 ответа
Неважно, нашел его на MSDN:
<system.web>
<authorization>
<deny users="?"/>
<allow users="*"/>
</authorization>
</system.web>`
Это позволит получить доступ любому, кто вошел в систему.
<deny users="?"/>
запрещает доступ любым анонимным пользователям - пользователям, которые не вошли в систему, а затем <allow users="*"/>
разрешит доступ всем остальным пользователям, которые в этом случае являются всеми аутентифицированными пользователями.
Если это находится в вашем главном файле web.config, это будет относиться ко всему сайту. Если вы хотите иметь разные уровни доступа, вы можете использовать <location>
тег:
<location path="~/Admin">
<system.web>
<authorization>
<allow roles="Admin"/>
<deny users="*"/>
</authorization>
</system.web>
Это ограничит доступ к любым файлам / папкам в папке администратора для пользователей с ролью "Администратор".