Мне сложно понять реальное использование атрибута [Authorize]
в ASP.NET MVC. Согласно концепции, если мы украшаем метод контроллера атрибутом [Authorize]
, доступ к контроллерам разрешен только для аутентифицированных пользователей.Авторизовать атрибут в ASP.NET MVC
Я разработал приложение ASP.NET MVC без декорирования контроллеров с атрибутом [Authorize]
. Я заметил, что если я правильно реализую механизм аутентификации в своем приложении с помощью web.config или каким-либо другим способом, теперь я могу получить доступ к URL-адресу {controller}/{action}/{id}
конкретного метода действий.
Система всегда запрашивает логин. Это означает, что мои контроллеры защищены. Мой вопрос в том, когда я могу защитить свои контроллеры без использования атрибута [Authorize]
, то в чем его настоящая необходимость?
Благодарность за answer.But то же самое ограничение, я могу наложить с помощью моего web.config с помощью членства и поставщика ролей для просмотра страниц тех, которые возвращаются контроллерами. Для этого мне не нужно использовать атрибут [Authosrize]. – techmad
@kaus - Одно дело отметить, что использование web.config в приложении MVC имеет потенциал для дыр в безопасности. Атрибут authorize учитывает всю маршрутизацию ASP.NET, тогда как с помощью web.config вам нужно будет знать все возможные конфигурации маршрутизации в приложении и учитывать их. Возможно, вы учли все это, но не можете быть уверены, посмотрев на web.config и routing.config и где бы вы ни выглядели. Изучая атрибуты Authorize для класса, который, как вы знаете, он безопасен независимо от маршрутизации. – DarrellNorton