Настройки членства в ASP.NET Web.config

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

Например, что делает

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

В частности, я хочу запретить доступ к большей части сайта для неаутентифицированных пользователей, разрешить доступ к некоторым сайтам для аутентифицированных пользователей, принадлежащих к определенной роли, и предоставить полный доступ пользователям из второй роли.

2 ответа

Решение
<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>

Это ограничит доступ к любым файлам / папкам в папке администратора для пользователей с ролью "Администратор".

Другие вопросы по тегам