实施IPermission

时间:2010-03-23 09:38:44

标签: c# .net permissions

我正在考虑编写自定义IPermission实现,但不清楚它应该如何工作。我已经实施了IPrincipalIIdentity。我想要完成的是能够检查当前IPrincipal授权而不是其角色的权限。通常,对于给定类型,授权是read / add-delete / update / none。所以我想写这样的东西:

[CustomPermission(SecurityAction.Demand, Type = typeof(Foo), MinimumAuthorization = AuthorizationFlags.Read)]
public void SomeMethod(){}

这可能吗?我查看了http://msdn.microsoft.com/en-us/library/system.security.ipermission.aspx处的代码。这显示了如何实现接口,但我不明白上面的伪代码如何能够检查IPrincipal的类型授权。

1 个答案:

答案 0 :(得分:1)

CustomPermission IPermission.Demand的{{1}}实施应该能够查看Thread.Current.CurrentPrincipal,将其投放到您的自定义主体,并从那里调查您的授权数据。