Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
De PrincipalPermissionAttribute constructor is verouderd en produceert compileertijdfout SYSLIB0002, te beginnen in .NET 5. U kunt dit kenmerk niet instantiƫren of toepassen op een methode.
In tegenstelling tot andere verdoezelingswaarschuwingen, kunt u de fout niet onderdrukken.
Tijdelijke oplossingen
Als u het kenmerk toepast op een ASP.NET MVC-actiemethode:
Overweeg ASP te gebruiken. De ingebouwde autorisatie-infrastructuur van NET. De volgende code laat zien hoe u aantekeningen maakt op een controller met een AuthorizeAttribute kenmerk. De ASP.NET runtime autoriseert de gebruiker voordat de actie wordt uitgevoerd.
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. } } }Zie Autorisatie op basis van rollen in ASP.NET Core en Inleiding tot autorisatie in ASP.NET Core voor meer informatie.
Als u het kenmerk toepast op bibliotheekcode buiten de context van een web-app:
Voer de controles handmatig uit aan het begin van de methode door de methode aan te IPrincipal.IsInRole(String) roepen.
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. }