【发布时间】:2010-08-01 22:55:11
【问题描述】:
我有一个带有
属性的类[PrincipalPermission(SecurityAction.Demand, Authenticated = true)]
public class MyProtectedClass { }
这按预期工作,当当前主体未通过身份验证时,调用者将被拒绝访问。在一个特定的场景中,我希望这个逻辑短路......也就是说,调用者不需要经过身份验证。实现这一点的一种方法当然是用一个 Identity 的 IsAuthenticated 属性为 true 的新线程重置线程的 CurrentPrincipal...
但是,我认为我应该能够通过调用者Assert 来实现这一点:
[PrincipalPermission(SecurityAction.Assert, Authenticated = true)]
public class MyExemptedCallerClass { }
这不会产生预期的效果,但是MyExemptedCallerClass 中的方法仍然会抛出异常尝试实例化MyProtectedClass。
有什么想法吗?是否有另一种/更好的方法来实现这一点?
谢谢。
【问题讨论】:
标签: c# .net permissions assert