SYSLIB0002: PrincipalPermissionAttribute kullanımdan kaldırıldı
PrincipalPermissionAttribute Oluşturucu eskidir ve .NET 5'te başlayarak derleme zamanı hatası SYSLIB0002
oluş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ı
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin