Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A ASP.NET Core engedélyezése a [Authorize] attribútum és annak különböző paraméterei alapján történik. A [Authorize] attribútum legalapvetőbb formájában egy Razor összetevőre, vezérlőre, műveletre vagy Razor lapra való alkalmazása korlátozza az összetevőre vonatkozó access hitelesített felhasználókra.
Ez a cikk összetevő-példákat használ , és az engedélyezési forgatókönyvekre összpontosít . A lapokra és az MVC-re vonatkozó útmutatásért tekintse meg a következő forrásokat a cikk elolvasása után:
attribútum
Az alkalmazásokban adja meg az attribútumot egy összetevőfájl () tetején. Az alábbi példában a lapot csak hitelesített felhasználók érhetik el.
@page "/"
@using Microsoft.AspNetCore.Authorization
@attribute [Authorize]
You can only see this if you're signed in.
Fontos
Csak az útválasztón keresztül elért összetevőken használja az attribútumot. Az engedélyezés csak az útválasztás részeként történik, és nem az oldalon megjelenített gyermekösszetevők esetében. A lap adott részeinek megjelenítésének engedélyezéséhez használjon inkább egy AuthorizeView összetevőt, amelyet a ASP.NET Core Blazor hitelesítés és engedélyezés című cikkben ismertetünk.
Az attribútum az alkalmazás összes összetevőjére vagy egy mappában lévő összetevők egy részhalmazára is alkalmazható fájl () használatával. Adjon hozzá egy direktívát a névtérhez az attribútumhoz tartozó irányelvvel:
@using Microsoft.AspNetCore.Authorization
@attribute [Authorize]
Az attribútum a szerepköralapú vagy szabályzatalapú engedélyezést is támogatja. Szerepköralapú engedélyezéshez használja a paramétert. Az alábbi példában a felhasználó csak akkor érheti el az oldalt, ha a Admin vagy Superuser szerepkörben van.
@page "/"
@attribute [Authorize(Roles = "Admin, Superuser")]
<p>You can only see this if you're in the 'Admin' or 'Superuser' role.</p>
Szabályzatalapú engedélyezéshez használja a paramétert . A következő példában a felhasználó csak akkor érheti el az oldalt, ha megfelel az Over21engedélyezési szabályzat követelményeinek.
@page "/"
@attribute [Authorize(Policy = "Over21")]
<p>You can only see this if you satisfy the 'Over21' policy.</p>
Ha sem , sem nincs megadva, az alapértelmezett házirendet használja:
- A hitelesített (bejelentkezett) felhasználók engedélyezettek.
- A nem hitelesített (kijelentkezett) felhasználók nem engedélyezettek.
Ha a felhasználó nincs engedélyezve, és az alkalmazás nem szabja testre a jogosulatlan tartalmakat az összetevővel, a keretrendszer automatikusan megjeleníti a következő tartalék üzenetet:
Not authorized.
A Blazor hitelesítésről és engedélyezésről további információt a ASP.NET Core Blazor hitelesítés és engedélyezés című témakörben talál.
A [AllowAnonymous] attribútum használatával engedélyezheti, hogy a nem hitelesített felhasználók hozzáférjenek az egyes műveletekre.
@using Microsoft.AspNetCore.Authorization
@attribute [AllowAnonymous]
További információ arról, hogyan igényelhet hitelesítést az összes alkalmazásfelhasználó számára: Az engedélyezés által védett felhasználói adatokkal rendelkező ASP.NET Core alkalmazás létrehozása.