SpringSecurity笔记1-SpringSecurity架构
??? SpringSecurity提供了全面的基于J2EE的企业应用程序的安全服务,是一个功能强大的且高度可客制化的基于access
-control的框架,是基于Spring应用程序的事实上的安全框架,基于SpringAOP和Servlet 过滤器的安全框架。
??? SpringSecurity提供了一个完整的解决方案,用于处理Web层请求(严格控制URL的访问)和方法调用层(SpringAOPen)的安全,包括认证和授权。
1. Authentication与Authorization(or access -control)
?? Authentication是建立一个可认可的Principal的过程,这个Principal可以是一个user,设备 或者是可以在应用程序
?? 中执行一个操作的其他系统; Authorization指决定一个Principal能否在应用程序中执行操作的过程。为了实现什么
?? 时候一个Authorization需要,Princiapl的一致性在建立Principal的过程中已经被建立。
2. SpringSecurity-Project Modules
?? (1) Core - spring-security-core.jar
?? 包含核心的Authentication和访问控制类和接口,远程服务支持及基本的API。
?? (2) Web - spring-security-web.jar
?? 包括过滤器和相关Web安全的基础代码,如果需要SpringSecurity Web认证服务以及使用基于URL的访问控制,则
?? 需要使用该JAR文件。
?? (3) Config - spring-security-config.jar
?? 包括Security命名空间解析代码。
?? (4) LDAP - spring-security-ldap.jar
?? LDAP认证以及基础代码。
?? (5) Tag Library - spring-security-taglibs
??用于视图层安全的JSP标签。
?? (6) CAS - spring-security-cas-client.jar
?? 与CAS客户端集成辅助类。
?? (7) OpenID - spring-security-openid.jar
?? 用于支持使用外部OpenID服务器的认证。
?? (8) ACL-spring-security-acl
?? 用于在应用程序中将安全应用到特定的域对象实例上。
?
3.SpringSecurity的特性
?? (1) 可移植:基于SpringSecurity的安全体制,可降低部署至不同的服务器时调整应用程序自身的配置的工作量,所
?? 有同安全相关的配置都将内置在应用本身;
?? (2) 支持大量企业级特性:如支持多种认证策略,控制并发HttpSession,自定义退出逻辑,集成第三方安全解决方案;
?? (3) 易于实施集成测试或CI(Continuous Intefration)工作。