Я не совсем уверен, что вы спрашиваете.Если ваш вопрос заключается в том, как вы можете сделать так, чтобы маршрут вообще не существовал, это невозможно.Если это выставлено, это выставлено.Однако вы можете заставить пользователя авторизоваться для доступа к нему, что приводит меня к следующей возможной интерпретации: как заставить пользователя авторизоваться для доступа к определенному маршруту.Это просто;вы просто декорируете действие атрибутом Authorize
:
[Authorize]
public IActionResult OnlyForAuthenticateUsers()
Вместо этого вы также можете декорировать класс контроллера, который защитит каждое действие в контроллере:
[Authorize]
public class MyController
Есливам просто нужно одно или около того действия, которые будут открыты, например, «вход» в контроллере, который в противном случае имеет действия, доступные только для аутентифицированных пользователей, тогда вы можете использовать атрибут AllowAnonymous
:
[AllowAnonymous]
public IActionResult SignIn()
Наконец, атрибут Authorize
также позволяет указать роли и / или политики, которые должны быть выполнены в дополнение к аутентификации.Например, чтобы заблокировать определенное действие только для пользователей с правами администратора, вы можете сделать что-то вроде [Authorize(Roles = "Admin")]
.