Должен ли я проверять авторизацию пользователя внутри каждого представления? - PullRequest
0 голосов
/ 24 сентября 2018

Итак, я работаю над проектом MVC в .NET Core 2.1.Я использую встроенную проверку подлинности Cookie из ASP.NET Identity.

Все мои конечные точки внутри моего контроллера, для которых требуется авторизация, помечены [Authorize], конечно.Но нужна ли моим представлениям (которые возвращаются) форма аннотации, чтобы определить, что они доступны только авторизованным пользователям?Если это так, как бы вы это сделали?

Ответы [ 2 ]

0 голосов
/ 26 сентября 2018

Представления или частичные представления могут быть доступны только с помощью любого действия контроллера, поэтому, если вы примените фильтр [Authorize] к контроллеру или действию, тогда нет необходимости использовать это в представлении.

Но если вы хотите аутентифицировать пользователяПосле этого вы можете использовать метод расширения Identity User IsInRole("Role").

0 голосов
/ 24 сентября 2018

Проверка аутентификации или авторизации в .cshtml-View противоречит MVC-концепции на мой взгляд.Когда запрос попадает в «View» -часть MVC, уже был задействован соответствующий контроллер, который выполнил свою работу и вызвал механизм представления.На данный момент вы (или должны) покончить с обработкой бизнес-логики - а разрешения - это просто еще одна форма бизнес-требования - и представить свой результат самым невероятным образом.

Итак, чтобы ответить на ваш вопрос конкретно:

Но нужно ли моим представлениям (которые возвращаются) также форма аннотации, чтобы определить, что они доступны только для авторизованных пользователей?

Поскольку они доступны только черезконтроллеры (или должны быть), они не нуждаются в дополнительных аннотациях.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...