- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
任何人都可以解释以下 c# 行为吗?我已经编写了一个小型控制台应用程序来了解 CAS,但我似乎无法理解为什么以下代码行会像它们那样工作:
string[] myRoles = new string[] { "role1", "role2", "role3" };
GenericIdentity myIdentity = new GenericIdentity("myUsername", "customAuthType");
GenericPrincipal myPrincipal = new GenericPrincipal(myIdentity, myRoles);
System.Threading.Thread.CurrentPrincipal = myPrincipal;
Console.WriteLine(SecurityManager.IsGranted(new PrincipalPermission(null, "role1")));
Console.WriteLine(SecurityManager.IsGranted(new PrincipalPermission(null, "roleX")));
两次 SecurityManager.IsGranted() 调用的输出均为“true”。
如果我再添加以下行:
new PrincipalPermission(null, "role1").Demand();
new PrincipalPermission(null, "roleX").Demand();
第一个需求调用通过,但第二个(如预期的那样)导致 SecurityException。
为什么 SecurityManager.IsGranted() 调用不为“roleX”权限返回 false?
最佳答案
在 .NET 4.0 中,SecurityManager.IsGranted 已过时。
原来是这样,如果您在 .NET 4.0 兼容性中编译,它会报错。
bool isGranted = SecurityManager.IsGranted(new SecurityPermission(SecurityPermissionFlag.Infrastructure))
修复它:
var permissionSet = new PermissionSet(PermissionState.None);
permissionSet.AddPermission(new SecurityPermission(SecurityPermissionFlag.UnmanagedCode));
bool isGranted = permissionSet.IsSubsetOf(AppDomain.CurrentDomain.PermissionSet);
引用:
http://www.stringbuilder.net/post/2009/07/31/In-NET-40-SecurityManagerIsGranted-is-obsolete.aspx
关于c# - SecurityManager.IsGranted() 行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/311677/
假设有某些路由字符串,例如受防火墙保护的“/path/index.html”,如何检查当前用户是否能够访问它? 提前致谢! 对不起,我应该更明确一点:我有一个路由名称数组,我构建了一个菜单。许多具有不
我发现在 Symfony 中我可以使用注释以一种干净的方式向我的 Controller 方法添加额外的功能,这真的很方便。例如: /** * @Route("/{id}") * @IsGrante
任何人都可以解释以下 c# 行为吗?我已经编写了一个小型控制台应用程序来了解 CAS,但我似乎无法理解为什么以下代码行会像它们那样工作: string[] myRoles = new string[]
有时,我有一个页面,我想对不同规则的复杂组合使用react,这些规则总共只是一件事:“当前用户可以执行此操作吗?”。 目前,大多数检查都直接在我的 Controller 内进行,因此我可以: if($
在我的应用程序中测试角色时,我发现了 SecurityContext 的函数 isGranted。它工作得很好,但现在我需要检查不是当前用户的用户的角色,所以 isGranted 对我不起作用。 我一
我目前正在为我的应用程序创建单元测试,但这是我第一次这样做。 我想测试这个功能: /** * This method search if the user is already in a team
我正在开发一个 Symfony2 应用程序,我们想在其中引入 Security Voters . DX 计划(jay!)给我们带来了the simpler version这种机制,所以我想使用它。关于
我正在将 Symfony 从 2.8 升级到 3.4,并且我有一个身份验证监听器。 监听器的构造器 public function __construct(EntityManager $entit
我在 Symfony 2 项目中使用 SonataAdminBundle 和 SonataUserBundle。安装的包是: $ composer show | grep symfony friend
我是一名优秀的程序员,十分优秀!