asp.net-core
авторизация
Поиск…
Простая авторизация
Авторизация в ядре asp.net - это просто AuthorizeAttribute
[Authorize]
public class SomeController : Controller
{
public IActionResult Get()
{
}
public IActionResult Post()
{
}
}
Это позволит только зарегистрированному пользователю получить доступ к этим действиям.
или использовать следующее, чтобы ограничить только одно действие
public class SomeController : Controller
{
public IActionResult Get()
{
}
[Authorize]
public IActionResult Post()
{
}
}
Если вы хотите разрешить всем пользователям доступ к одному из действий, вы можете использовать AllowAnonymousAttribute
[Authorize]
public class SomeController: Controller
{
public IActionResult Get()
{
}
[AllowAnonymous]
public IActionResult Post()
{
}
}
Теперь Post
может быть доступно любому пользователю. AllowAnonymous
всегда входит в качестве приоритета для авторизации, поэтому, если для контроллера установлено значение AllowAnonymous
все его действия являются общедоступными, независимо от того, имеют ли они AllowAnonymous
AuthorizeAttribute
или нет.
Существует возможность установить для всех контроллеров требуемые авторизованные запросы -
services.AddMvc(config =>
{
var policy = new AuthorizationPolicyBuilder()
.RequireAuthenticatedUser()
.Build();
config.Filters.Add(new AuthorizeFilter(policy));
})
Это делается путем добавления политики авторизации по умолчанию для каждого контроллера - любые атрибуты Authorize
/ AllowAnonymous
по контроллеру / действию переопределяют эти параметры.