asp.net-core
Upoważnienie
Szukaj…
Prosta autoryzacja
Autoryzacja w rdzeniu asp.net to po prostu AuthorizeAttribute
[Authorize]
public class SomeController : Controller
{
public IActionResult Get()
{
}
public IActionResult Post()
{
}
}
Umożliwi to tylko zalogowanemu użytkownikowi dostęp do tych akcji.
lub skorzystaj z poniższych, aby ograniczyć tylko jedno działanie
public class SomeController : Controller
{
public IActionResult Get()
{
}
[Authorize]
public IActionResult Post()
{
}
}
Jeśli chcesz zezwolić wszystkim użytkownikom na dostęp do jednej z akcji, możesz użyć AllowAnonymousAttribute
[Authorize]
public class SomeController: Controller
{
public IActionResult Get()
{
}
[AllowAnonymous]
public IActionResult Post()
{
}
}
Teraz dostęp do Post
może uzyskać każdy użytkownik. AllowAnonymous
zawsze ma priorytet w zakresie autoryzacji, więc jeśli kontroler jest ustawiony na AllowAnonymous
wszystkie jego działania są publiczne, niezależnie od tego, czy mają AuthorizeAttribute
czy nie.
Istnieje możliwość ustawienia wszystkich kontrolerów tak, aby wymagały autoryzowanych żądań -
services.AddMvc(config =>
{
var policy = new AuthorizationPolicyBuilder()
.RequireAuthenticatedUser()
.Build();
config.Filters.Add(new AuthorizeFilter(policy));
})
Odbywa się to poprzez dodanie domyślnej zasady autoryzacji do każdego kontrolera - wszelkie atrybuty Authorize
/ AllowAnonymous
na kontroler / akcję AllowAnonymous
te ustawienia.