Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
ASP.NET Core yetkilendirme, [Authorize] özniteliği ve çeşitli parametreleriyle denetlenmektedir. En temel biçiminde, [Authorize] özniteliğini Razor bileşenine, denetleyiciye, eyleme veya Razor Sayfasına uygulamak, bu bileşene erişimi kimliği doğrulanmış kullanıcılarla sınırlandırır.
Bu makale, bileşen örneklerini kullanır BlazorRazor ve yetkilendirme senaryolarına odaklanır Blazor . Razor Sayfalar ve MVC kılavuzu için bu makaleyi okuduktan sonra aşağıdaki kaynaklara bakın:
- ASP.NET Core
Sayfalar'da Basit Yetkilendirme ASP.NET Core MVC içinde Basit yetkilendirme
[Authorize] özniteliği
Blazor uygulamalarında, .razor bir bileşen dosyasının en üstünde [Authorize] belirtin. Aşağıdaki örnekte yalnızca kimliği doğrulanmış kullanıcılar sayfaya erişebilir.
@page "/"
@using Microsoft.AspNetCore.Authorization
@attribute [Authorize]
You can only see this if you're signed in.
Önemli
Blazor yönlendiricisi aracılığıyla ulaşılan @page bileşenlerinde yalnızca [Authorize] özniteliğini kullanın. Yetkilendirme, yalnızca yönlendirmenin bir yönü olarak gerçekleştirilir ve bir sayfada işlenen alt bileşenler için değildir. Sayfadaki belirli bölümlerin görüntülenmesini yetkilendirmek için AuthorizeView bölümünde açıklanan Blazor bileşenini kullanın.
Özniteliği, [Authorize] bir uygulamadaki Razor tüm bileşenlere veya bir klasördeki Blazor bileşenlerin bir alt kümesine Razor bir içeri aktarma dosyası (_Imports.razor) kullanılarak da uygulanabilir.
@attribute için bir [Authorize] yönergesiyle Microsoft.AspNetCore.Authorization ad alanı için bir @using yönergesi ekleyin:
@using Microsoft.AspNetCore.Authorization
@attribute [Authorize]
[Authorize] özniteliği rol tabanlı veya ilke tabanlı yetkilendirmeyi de destekler. Rol tabanlı yetkilendirme için parametresini Roles kullanın. Aşağıdaki örnekte, kullanıcı sadece Admin veya Superuser rolündeyse sayfaya erişebilir.
@page "/"
@attribute [Authorize(Roles = "Admin, Superuser")]
<p>You can only see this if you're in the 'Admin' or 'Superuser' role.</p>
İlke tabanlı yetkilendirme için parametresini Policy kullanın. Aşağıdaki örnekte, kullanıcı yalnızca yetkilendirme ilkesinin gereksinimlerini karşılıyorsa sayfaya erişebilir.
@page "/"
@attribute [Authorize(Policy = "Over21")]
<p>You can only see this if you satisfy the 'Over21' policy.</p>
Ne Roles ne de Policy belirtilirse, [Authorize] varsayılan politikayı kullanır:
- Kimliği doğrulanmış (oturum açmış) kullanıcılar yetkilendirilir.
- Kimliği doğrulanmamış (oturum kapatılmış) kullanıcılar yetkisizdir.
Kullanıcı yetkilendirilmediğinde ve uygulama bileşenle Router yetkisiz içeriği özelleştirmediğinde çerçeve otomatik olarak aşağıdaki geri dönüş iletisini görüntüler:
Not authorized.
Blazor kimlik doğrulaması ve yetkilendirmesi hakkında daha fazla bilgi için bkz. ASP.NET Core Blazor kimlik doğrulaması ve yetkilendirme.
Kimliği doğrulanmamış kullanıcıların bireysel eylemlere erişim izni vermek için [AllowAnonymous] özniteliğini kullanın.
@using Microsoft.AspNetCore.Authorization
@attribute [AllowAnonymous]
Tüm uygulama kullanıcıları için kimlik doğrulaması gerektirme hakkında bilgi için bkz. Yetkilendirmeyle korunan kullanıcı verileriyle ASP.NET Core uygulaması oluşturma.
Ek kaynaklar
- ASP.NET Core
Sayfalar'da Basit Yetkilendirme ASP.NET Core MVC içinde Basit yetkilendirme
ASP.NET Core