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.
PrincipalPermissionAttribute Oluşturucu eskidir ve .NET 5'te başlayarak derleme zamanı hatası SYSLIB0002oluşturur. Bu özniteliğin örneğini oluşturamaz veya bir yönteme uygulayamazsınız.
Diğer eski uyarılardan farklı olarak, hatayı gizleyemezsiniz.
Geçici Çözümler
özniteliğini bir ASP.NET MVC eylem yöntemine uyguluyorsanız:
ASP kullanmayı göz önünde bulundurun. NET'in yerleşik yetkilendirme altyapısı. Aşağıdaki kod, bir özniteliği olan AuthorizeAttribute bir denetleyiciye nasıl ek açıklama ekinin ek açıklama eklilğini gösterir. ASP.NET çalışma zamanı, eylemi gerçekleştirmeden önce kullanıcıyı yetkiler.
using Microsoft.AspNetCore.Authorization; namespace MySampleApp { [Authorize(Roles = "Administrator")] public class AdministrationController : Controller { public ActionResult MyAction() { // This code won't run unless the current user // is in the 'Administrator' role. } } }Daha fazla bilgi için bkz. ASP.NET Core'da rol tabanlı yetkilendirme ve ASP.NET Core'da yetkilendirmeye giriş.
Özniteliğini bir web uygulamasının bağlamı dışında bir kitaplık koduna uyguluyorsanız:
yöntemini çağırarak yönteminizin başında el ile denetimleri gerçekleştirin IPrincipal.IsInRole(String) .
using System.Threading; void DoSomething() { if (Thread.CurrentPrincipal == null || !Thread.CurrentPrincipal.IsInRole("Administrators")) { throw new Exception("User is anonymous or isn't an admin."); } // Code that should run only when user is an administrator. }
Ayrıca bkz.
PrincipalPermissionAttribute, hata olarak kullanımdan kaldırıldı