Spring Security生态概览

Spring Security

Spring Security:Spring Security的核心项目
1. spring-security-acl:提供领域模型和对象级别的权限控制
2. spring-security-aspects:定义@Secured、@PreAuthorize、@PostAuthorize、@PreFilter、@PostFilter,这几个注解的切面,处理逻辑在AspectJMethodSecurityInterceptor 中
3. spring-security-cas:对接Apereo CAS
4. spring-security-config:配置模块
5. spring-security-core:核心模块,提供领域模型,顶级接口的定义
6. spring-security-crypto:crypto工具包
7. spring-security-data:与JPA整合,提供了在Repository 层使用spring security的认证信息的能力@Query("select m from Message m where m.to.id = ?#{ principal?.id }")
8. spring-security-itest:集成测试支持
9. spring-security-ldap:对认证数据存储在ldap中的场景提供支持
10. spring-security-messaging:为websocket认证提供支持
11. spring-security-oauth2:待测试
12. spring-security-openid:openid协议支持
13. spring-security-remoting:提供了DNS、HttpInvoker和RMI的支持。Transparent authentication context propagation for Remote Method Invocation (RMI) and HttpInvoker (a Spring remoting protocol)
14. spring-security-test:单元测试支持
15. spring-security-web:为web应用的安全提供了整套的解决方案,包括CSRF、Session相关
16. spring-security-webflux:为Spring WebFlux提供支持

spring-security-saml:Spring Security的SAML 扩展
spring-security-oauth:为Spring Security在构建基于Spring的Web应用时提供Oauth支持,支持OAuth1(a) 和 OAuth2两个版本的特性,提供了构建Oauth中的Authorization Server和Resource Server的支持。token的生成支持jwt规范。此项目包含三个模块,spring-security-oauth、spring-security-oauth2和spring-security-jwt,需要注意的这三个模块的版本号,spring-security-oauth和spring-security-oauth2的版本号是跟着项目走的,spring-security-jwt是单独的一个版本号,而且groupId也不一样,jwt的是org.springframework.security,oauth的是org.springframework.security.oauth
spring-security-kerberos:对接kerberos
spring-vault:为授权信息存储在vault的应用场景提供支持
spring-common-security-config:新项目,昨天刚建的,才只有6个commit,为Spring Cloud Data Flow/Skipper中使用spring security提供支持

Spring Boot 支持

spring-boot-starter-security:依赖spring-security-config、spring-security-web
autoconfigurer security:Security配置和oauth2配置

Spring-Cloud-Security

Spring-Cloud-Security基于Spring Boot对Spring Security的支持,为Spring Cloud中使用Spring Security进行了封装。
spring-cloud-security:为Zuul,Feign,Oauth2 Resource Server的token中继提供支持
spring-cloud-starter-security:管理在Spring Cloud中使用Spring Security的依赖
spring-cloud-starter-oauth2:管理在Spring Cloud中使用Spring Security Oauth2的依赖

参考

SAML 2.0 WiKi
OAUTH、OPENID、SAML、CAS做统一认证与授权的联系与区别
我眼中的SAML (Security Assertion Markup Language)
基于SAML的单点登录介绍

你可能感兴趣的:(Spring,Security)