可以让你的应用代码与安全控制代码分离,使商业逻辑和安全逻辑解耦,实现插拔式代码无入侵性权限管理,让整个项目结构更清晰。通过Servlet Filter和Spring AOP有效地达到了这个目的。
如:
URL 资源访问控制 http://apps:8080/index.htm -> for public http://apps:8080/user.htm -> for authorized user
方法调用访问控制
public void getData() -> all user
public void modifyData() -> supervisor only
不但可以在调用方法前对对其进行保护,还可以对方法调用后返的Object进行处理,这就是基于ACL功能上的调用后安全处理功能,如对象实例保护:
order.getValue() < $100 -> all user
order.getValue() > $100 -> supervisor only