Достаточно ли безопасна авторизация URL в ASP.NET? - PullRequest
1 голос
/ 19 января 2011

Я классифицировал свои страницы в разных папках на основе некоторых ролей и использования авторизации URL-адреса. Например, я использую следующий код в web.config для ограничения доступа к этому административному компоненту:

<configuration>
  <system.web>
    <authorization>
      <allow roles="Admin" />
      <allow roles="SuperAdmin" />
      <deny roles="Member" />
      <deny users="?"/>
    </authorization>
  </system.web>
</configuration>

Мой вопрос: достаточно ли это безопасно? Или мне нужно сделать некоторые другие вещи, такие как: в каждом событии, которое пользователь хочет выполнять административные действия, я должен проверить, находятся ли они в соответствующей роли?

Edit: Я использую «Поставщик проверки подлинности с помощью форм» и «Поставщик членства ASP.NET» для проверки подлинности пользователей и членства, и насколько я знаю, это безопасно

1 Ответ

1 голос
/ 19 января 2011

Это только подтверждает, что ни один пользователь не получает ни одной страницы, на которую он не авторизован.Поскольку вы делаете много бизнес-вещей на своем бизнес-уровне, вы также хотите проверить авторизацию там.

Большую часть времени вы не можете не проверять несколько раз внутри страницы также, поскольку страницы часто доставляют разное содержимое, в зависимости от того, запрашивает ли их пользователь с низкими правами или пользователи с высокими правами.

Как правило, вам придется самостоятельно принимать решение по каждой информации, которую вы предоставляете, - нормально это или нет?Если это вообще не общедоступная информация: подумайте, как вы можете эффективно ограничить ее?Схема авторизации, основанная на классах членства ASP.NET, является хорошей основой для этого.

...