【发布时间】:2010-05-03 18:11:40
【问题描述】:
我在 wcf 服务中使用 PrincipalPermission 已经有一段时间了。 [PrincipalPermission(SecurityAction.Demand, Role = SecurityRoles.CanManageUsers)]
我们的角色以:Can* 为前缀,这是我们使用内置 asp.net 会员系统实现细粒度操作控制的方式。
这使得作为一个业务部门很难知道我们可以为用户分配哪些细粒度的角色。
这是我的新方法,想看看是否有人可以在我实施我的建议之前提供反馈、代码审查。
1) aspnet_roles - 业务部门角色
2)通过创建权限表和Role_Permission表和User_Permission表(多对多)扩展asp.net会员系统
3) 创建查看新表的自定义 CodeAccessSecurityAttribute + [CustomPermissionCheck(Security.Demand, HasPermission="can*")] 第一次迭代我将静态地新建依赖存储库.. 理想情况下,我想要一个 aop 样式属性,该属性具有存储库注入 IPermissionRepository.HasPermission(...);
如果我采用新的 aop 方式,我可能会停止从 CodeAccessSecurityAttribute 继承——安全人员对此有何看法?
有其他人解决过这个问题吗,框架中是否有我遗漏的东西?
【问题讨论】:
标签: c# wcf security code-access-security principalpermission