目前,我在我的项目中使用了这样的东西:
IPermission permission = new PrincipalPermission(null, "MyFancyRole");
permission.Demand();现在,随着.NET核心的兴起,我试图将该项目迁移到后者,并对安全性产生了问题,因为我(几乎)不知道什么将取代.NET核心中的PrincipalPermission。
有人对此有什么想法吗?终于有教养的猜测了?
PS:我说几乎没有任何线索,因为我肯定可以用IsInRole("...")代替它,如果不是的话可以抛出SecurityExceptions。我只想知道有没有推荐的替代品。
发布于 2016-02-29 14:00:11
PrincipalPermission是代码访问安全性的一部分,它已经不存在了。现在所有的标识都是ClaimsPrincipal的,所以您是对的,您可以使用IsInRole检查角色,或者,如果您使用的是ASP.NET,则使用授权和政策。
您也可以在自己的代码中使用策略,它们没有链接到ASP.NET,您可以在DI中注册类并在构造函数中注入IAuthorizationService,然后调用AuthorizeAsync并做出相应的反应。
https://stackoverflow.com/questions/35698104
复制相似问题