基本思路:采用Spring.net 的AOP框架,.net的Attribute特性来实现业务逻辑与权限安全验证的分离。废话少说,下面是代码示例:
第一步:Spring.net AOP 的配置文件
配置文件中需要配置
1. 权限安全的advice"UserPrivilege.AOP.SecurityBeforeAdvice" 来对权限的验证。
2. 安全验证的PointCut “UserPrivilege.AOP.SecurityAttribute”
3. 由Spring.Aop.Framework.AutoProxy.ObjectNameAutoProxyCreator来实现安全验证与业务逻辑层的绑定
第二步:编写安全权限特性类来实现权限的设定
第三步:编程Spring.net AOP的BeforeAdvice实现权限的验证
第四步:在加载页面的时候,实现IHttpModule接口的AcquireRequestState事件,进行权限验证。
第五步: 在业务逻辑代码中采用Attribute实现权限的设定
添加一个功能权限的枚举
本示例其中采用session来保存user的信息,大家可以根据项目实际需求进行调整。