Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架,Spring Security 的前身是 Acegi Security ,是 Spring 项目组中用来提供安全认证服务的框架。
Spring Security的安全分为两部分:认证和验证(权限控制)
1.认证是为用户建立一个他所声明的主体的过程,主体一般是用户,设备或者其他可以在你系统中执行操作的其他系统。
2. Spring security授权分三个领域:授权web请求,授权被调用方法,授权访问单个对象的实例。 分别对照sevlet规范web模式安全,EJB容器管理安全,文件系统安全
Spring Security对Web安全性的支持大量地依赖于Servlet过滤器。这些过滤器拦截进入请求,并且在应用程序处理该请求之前进行某些安全处理。 Spring Security提供有若干个过滤器,它们能够拦截Servlet请求,并将这些请求转给认证和访问决策管理器处理,从而增强安全性。
spring-security-core.jar包含核心认证和权限控制类和接口,远程支持和基本供应API。使用spring security必须的,支持单独运行的应用,远程客户端,方法(服务层)安全和jdbc用户供应
spring-security-web.jar
包含过滤器和对应的web安全架构代码,任何需要依赖servlet API的。如果你需要web认证服务和基于url的权限控制,你将需要他。
spring-security-config.jar
包含安全命名控制解析代码,用于spring security xml命名控制来进行配置
spring-security-ldap.jar
ldap认证和实现代码,用于LDAP认证和管理LDAP用户实体
spring-security-acl.jar
处理领域对象acl实现,用来提供安全给特定的领域对象实例
spring-security-cas-client.jar
spring security的cas客户端继承,如果你希望使用spring security web认证整合一个cas单点登录服务器
spring-security-openid.jar
openid web认证支持,用来认证客户,需要外部的openid服务。