我有一个归属于
的课程[PrincipalPermission(SecurityAction.Demand, Authenticated = true)]
public class MyProtectedClass { }
这可以按预期工作,并且在未对当前主体进行身份验证时拒绝访问者。在一个特定的场景中,我希望这个逻辑短路......也就是说,调用者不需要进行身份验证。实现这一目标的一种方法可能是使用Identity的IsAuthenticated属性为true的新方法重置Thread的CurrentPrincipal ......
但是,我认为我应该能够通过让来电者Assert
:
[PrincipalPermission(SecurityAction.Assert, Authenticated = true)]
public class MyExemptedCallerClass { }
但这并没有产生预期的效果,MyExemptedCallerClass
中的方法在尝试实例化MyProtectedClass
时仍会引发异常。
有什么想法吗?有没有其他/更好的方法来实现这一目标?
感谢。
答案 0 :(得分:1)
以下是一些想法: