Я не знаю, как это задать, но вот оно. Я пытаюсь сделать так, чтобы маршрут или URL-адрес с контроллера были доступны только после входа пользователя в систему. Я не знаю, найти этот код в asp.net core 2.1. Я знаю, как это сделать со своей обзорной частью.
@if (SignInManager.IsSignedIn(User)){ //authorized section }
Но я не уверен в частях контроллера / маршрута. Итак, мне нужна ваша помощь, чтобы научиться этому должным образом.
Спасибо.





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