我在 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 继承——安全人员对此有何看法?
有没有其他人解决了这个问题,我错过了框架中有什么东西吗?