asp.net-core
Genehmigung
Suche…
Einfache Autorisierung
Die Autorisierung in asp.net core lautet einfach AuthorizeAttribute
[Authorize]
public class SomeController : Controller
{
public IActionResult Get()
{
}
public IActionResult Post()
{
}
}
Dies erlaubt nur einem angemeldeten Benutzer den Zugriff auf diese Aktionen.
oder verwenden Sie die folgenden Anweisungen, um nur eine einzelne Aktion einzuschränken
public class SomeController : Controller
{
public IActionResult Get()
{
}
[Authorize]
public IActionResult Post()
{
}
}
Wenn Sie allen Benutzern den Zugriff auf eine der Aktionen ermöglichen möchten, können Sie AllowAnonymousAttribute
[Authorize]
public class SomeController: Controller
{
public IActionResult Get()
{
}
[AllowAnonymous]
public IActionResult Post()
{
}
}
Jetzt kann jeder Benutzer auf die Post
zugreifen. AllowAnonymous
immer Priorität. Wenn also ein Controller auf AllowAnonymous
gesetzt ist, AllowAnonymous
alle seine Aktionen öffentlich, unabhängig davon, ob sie ein AuthorizeAttribute
oder nicht.
Es gibt eine Option, um alle Controller so einzustellen, dass autorisierte Anfragen erforderlich sind.
services.AddMvc(config =>
{
var policy = new AuthorizationPolicyBuilder()
.RequireAuthenticatedUser()
.Build();
config.Filters.Add(new AuthorizeFilter(policy));
})
Dies geschieht durch Hinzufügen einer Standardautorisierungsrichtlinie zu jedem Controller. AllowAnonymous
Authorize
/ AllowAnonymous
Attribute über einen Controller / eine Aktion setzen diese Einstellungen außer Kraft.