自定义PrinciplePermission身份验证

时间:2010-12-09 08:48:13

标签: wcf wcf-security

我们的系统使用自定义角色和身份验证系统来验证用户。

我现在正在调查服务端验证/安全性。 我想在wcf上实现我们的自定义身份验证,授权。

我做了一些调查,看起来我可以在合同上使用PrinciplePermission属性来允许/拒绝访问。默认只调用IPrinciple上的IsInRole方法和IIdentity上的IsAuthenticated。

所以我有两个问题:

  1. 如何实现我自己的具有附加数据/方法的自定义原则?
  2. 如何在PrinciplePermissions中添加附加检查?例如(IsExternal将检查他们是否从内联网或互联网访问服务[有机制监控此事])
  3. 由于

1 个答案:

答案 0 :(得分:0)

经过一些实验,我想出了一个自定义的书面解决方案:

我的解决方案是基于Kyle McClellan的Authorisation Sample。我调整了属性来查看自定义类来检索用户。

为了解决异步问题,我在实例化MainPage之前将用户及其相关数据加载到App.xaml中,然后我使用全局单例,我称之为SecurityContext,来访问用户数据。

SecurityContext是用户数据的内存存储,可以在客户端访问。