Pull to refresh
12
0
Дмитрий Гордеев @CyberCoder

User

Send message
Если имеется ввиду такая конструкция:

<customErrors mode="On" defaultRedirect="Error">
  <error statusCode="403" redirect="NoAuthorize" />
</customErrors>

то это, во-первых, действует на всё приложение, а не только для контроллеров, а во-вторых, создавать контроллер с вьюхами ради этого в этом случае лишнее. Да и больше действий.
Можно ещё много какую угодно проверку сделать, просто хотелось показать, что переделать стандартную авторизацию не просто, а очень просто и не делать простынку из исходного кода. А все посмотрели на статичного PermissionManager'a и не видят динамической проверки.
Так я и сказал, что это только пример, как будет работать авторизация у вас, зависит только от вас. Просто статьей хотелось сказать, что есть возможность переопределить стандартный механизм. Есть люди, которые ASP.NET MVC увидели недавно, поэтому для них всё в первой. А в рунете предлагается, в основном, только вариант, предложенный Angelina_Joulie
Согласен, в реальности так и надо делать, но для примера не хотел загружать статью IoC, реализацией что-то делающего PermissionManager'a и т.д.
Я знаю, что такое ACL и роли (работал системным администратором и настройкой прав занимался часто), но стандартный AuthorizeAttribute принимает только константные строки, а что если нужно будет создать новую роль, в которой права отличаются от сущесвующих, и присвоением нескольких существующих ролей не получить нужных прав? Пришлось бы добавлять в код и перекомпилировать.
Приведу пример. Операционная система. Когда нужно создать новую роль, я же не лезу в код ОС, а создаю новую роль и динамически назначаю права доступа этой роли.
2

Information

Rating
Does not participate
Location
Самара, Самарская обл., Россия
Date of birth
Registered
Activity