权限管理已经被很多公司做过无数遍了,我这个系统的特点是:
1 适合于企业内部拥有多个相互独立的信息系统(B/S,C/S都支持),支持单点登录
企业内部用户都由AD进行统一管理。各个信息系统以AD用户识别当前使用者,也就是采用集成身份验证。
2 采用SOA的设计思想,将权限管理作为一个通用的服务平台,支持在一个权限管理界面中管理多个信息系统的角色和权限。
3 基于ASP.NET的开发平台,复用了ASP.NET的用户权限管理的部分代码
主要功能:
1 用户管理
虽然AD统一管理用户,但不是每个AD用户都是可以使用一个业务系统的。需要判断用户是否是某个业务系统的有效用户
2 角色管理
3 权限管理
将权限赋予角色,用户加入角色后,得到需要的权限。
4 用户认证
确认用户是否是某个业务系统的合法用户
5 个性化信息存储
6 权限验证
分为功能权限和数据权限验证
实现
1 AD统一管理用户
2 建立一个ASP.NET网站,进行用户用户、权限管理,提供web service作为服务接口。
3 其它业务系统采用Windows集成身份验证,通过web service进行用户身份和权限验证。
下图是web service实现的示意图
SecurityAdapter具体实现web service对外接口
利用ASP.NET的用户角色管理的接口和数据库,通过自己定制的MembershipProvider来实现用户,角色的数据存储。通过自定义的ProfileProvider来实现个性化数据的存储。
利用Enterpise Library的security模块的接口,实现权限的管理,功能权限和数据权限的验证。