网站首页 > 技术文章 正文
在Spring Security 3.0中,代码库被细分为独立的jar,这些jar更清楚地区分了不同的功能区域和第三方依赖。如果您使用Maven构建项目,那么应该将这些模块添加到pom.xml文件中。即使您不使用Maven,我们也建议您参考pom.xml文件以了解第三方依赖项和版本。另一个好主意是检查示例应用程序中包含的库。
本篇提供了Spring Security中模块的参考,以及它们在运行的应用程序中发挥作用所需的附加依赖项。我们不包括仅在构建或测试Spring Security本身时使用的依赖项。我们也不包括外部依赖所需要的传递依赖。
项目网站上列出了所需的Spring版本,因此对于下面的Spring依赖项,具体的版本被省略了。请注意,下面列为“可选”的一些依赖项对于Spring应用程序中的其他非安全性功能仍然是必需的。此外,如果在大多数应用程序中都使用“可选”的依赖项,那么在项目的Maven POM文件中可能实际上不会将它们标记为“可选”。它们是“可选的”,只是在你不需要它们的情况下,除非你在使用指定的功能。
当一个模块依赖于另一个Spring Security模块时,它所依赖的模块的非可选依赖项也被认为是必需的,并且没有单独列出。
Core?—?spring-security-core.jar
该模块包含核心身份验证和访问控制类和接口、远程支持和基本配置api。任何使用Spring Security的应用程序都需要它。它支持独立的应用程序、远程客户端、方法(服务层)安全以及JDBC用户配置。
它包含以下顶级包:
- org.springframework.security.core
- org.springframework.security.access
- org.springframework.security.authentication
- org.springframework.security.provisioning
Core的依赖关系列表:
ehcache
版本:1.6.2
描述:使用基于ehcache的用户缓存实现时需要(可选)。
spring-aop
描述:方法的安全性是基于Spring AOP的
spring-beans
描述:Spring配置所需
spring-expression
描述:基于表达式的方法安全性(可选)
spring-jdbc
描述:如果使用数据库存储用户数据,则需要(可选)。
spring-tx
描述:如果使用数据库存储用户数据,则需要(可选)。
aspectjrt
版本:1.6.10
描述:如果使用AspectJ支持(可选)则是必需的。
jsr250-api
版本:1.0
描述:如果您正在使用JSR-250方法安全注解(可选),则必需。
Remoting?—?spring-security-remoting.jar
这个模块提供了与Spring Remoting的集成。除非您正在编写一个使用Spring Remoting的远程客户端,否则您不需要这样做。主要的包是org.springframework.security.remoting。
Remoting的依赖关系列表:
spring-security-core
描述:基础核心依赖
spring-web
描述:用于使用HTTP远程支持的客户端。
Web?—?spring-security-web.jar
这个模块包含过滤器和相关的web安全基础架构代码。它包含任何具有servlet API依赖的内容。如果需要Spring Security web身份验证服务和基于url的访问控制,就需要它。主要的包是org.springframework.security.web。
Web的依赖关系列表:
spring-security-core
描述:基础核心依赖
spring-web
描述:Spring web支持类被广泛使用。
spring-jdbc
描述:基于jdbc的持久性remember-me令牌存储库需要(可选)。
spring-tx
描述:remember-me持久性令牌存储库实现所需(可选)。
Config?—?spring-security-config.jar
这个模块包含安全命名空间解析代码和Java配置代码。如果您使用Spring Security XML名称空间进行配置或使用Spring Security的Java配置支持,则需要它。主包是org.springframework.security.config。这些类都不打算在应用程序中直接使用。
Config的依赖关系列表:
spring-security-core
描述:基础核心依赖
spring-security-web
描述:如果您正在使用任何与web相关的命名空间配置(可选),则是必需的。
spring-security-ldap
描述:如果使用LDAP名称空间选项(可选),则是必需的。
spring-security-openid
描述:如果您正在使用OpenID身份验证(可选),则需要。
aspectjweaver
版本:1.6.10
描述:如果使用保护切入点命名空间语法则是必需的(可选)。
LDAP?—?spring-security-ldap.jar
该模块提供LDAP认证和配置代码。当您需要使用LDAP认证或管理LDAP用户条目时,则需要。顶级包是org.springframework.security.ldap。
LDAP的依赖关系列表:
spring-security-core
描述:基础核心依赖
spring-ldap-core
版本:1.3.0
描述:LDAP支持是基于Spring LDAP的。
spring-tx
描述:数据异常类是必需的。
apache-ds
版本:1.5.5
描述:如果您使用嵌入式LDAP服务器(可选),则需要。
shared-ldap
版本:0.9.15
描述:如果您使用嵌入式LDAP服务器(可选),则需要。
ldapsdk
版本:4.1
描述:Mozilla LdapSDK。例如,如果在OpenLDAP中使用密码策略功能,则可用于对LDAP密码策略控制进行解码。
OAuth 2.0 Core?—?spring-security-oauth2-core.jar
spring-security-oauth2-core.jar包含支持OAuth 2.0授权框架和OpenID Connect core 1.0的核心类和接口。使用OAuth 2.0或OpenID Connect Core 1.0的应用程序(如客户端、资源服务器、授权服务器等)需要使用此功能。顶级包是org.springframework.security.oauth2.core。
OAuth 2.0 Client?—?spring-security-oauth2-client.jar
spring-security-oauth2-client.jar包含Spring Security对OAuth 2.0授权框架和OpenID Connect Core 1.0的客户端支持。这是使用OAuth 2.0登录或OAuth客户端支持的应用程序所必需的。顶级包是org.springframework.security.oauth2.client。
OAuth 2.0 JOSE?—?spring-security-oauth2-jose.jar
spring-security-oauth2-jose.jar包含Spring Security对JOSE (Javascript对象签名和加密)框架的支持。JOSE框架旨在提供一种方法,在各方之间安全地传输声明。
它是由一系列规范组成的:
- JSON Web Token (JWT)
- JSON Web Signature (JWS)
- JSON Web Encryption (JWE)
- JSON Web Key (JWK)
它包含以下顶级包:
- org.springframework.security.oauth2.jwt
- org.springframework.security.oauth2.jose
OAuth 2.0 Resource Server?—?spring-security-oauth2-resource-server.jar
spring-security-oauth2-resource-server.jar包含Spring Security对OAuth 2.0资源服务器的支持。它通过OAuth 2.0 Bearer Token来保护api。顶级包是org.springframework.security.oauth2.server.resource。
ACL?—?spring-security-acl.jar
这个模块包含一个专门化的域对象ACL实现。它用于将安全性应用于应用程序中的特定域对象实例。顶级包是org.springframework.security.acl。
ACL的依赖关系列表:
spring-security-core
描述:基础核心依赖
ehcache
版本:1.6.2
描述:如果使用基于ehcache的ACL缓存实现,则需要(如果使用自己的实现,则可选)。
spring-jdbc
描述:如果使用默认的基于jdbc的AclService,则是必需的(如果实现自己的AclService,则是可选的)。
spring-tx
描述:如果使用默认的基于jdbc的AclService,则是必需的(如果实现自己的AclService,则是可选的)。
CAS?—?spring-security-cas.jar
这个模块包含Spring Security的CAS客户端集成。如果您想在CAS单点登录服务器上使用Spring Security web身份验证,您应该使用它。顶级包是org.springframework.security.cas。
CAS的依赖关系列表:
spring-security-core
描述:基础核心依赖
spring-security-web
描述:基础依赖
cas-client-core
版本:3.1.12
描述:JA-SIG CAS客户端。这是Spring安全集成的基础。
ehcache
版本:1.6.2
描述:如果您使用基于ehcache的票据缓存(可选),则需要。
OpenID?—?spring-security-openid.jar
OpenID 1.0和2.0协议已经弃用,并且鼓励用户迁移到OpenID Connect,它由spring-security-oauth2支持。
该模块包含OpenID web身份验证支持。它用于根据外部OpenID服务器对用户进行身份验证。顶级包是org.springframework.security.openid。它需要OpenID4Java。
OpenID的依赖关系列表:
spring-security-core
描述:基础核心依赖
spring-security-web
描述:基础依赖
openid4java-nodeps
版本:0.9.6
描述:Spring Security的OpenID集成使用了OpenID4Java。
httpclient
版本:4.1.1
描述:openid4java-nodeps依赖于HttpClient 4。
guice
版本:2.0
描述:openid4java-nodeps依赖于Guice 2。
Test?—?spring-security-test.jar
这个模块包含了对Spring安全性测试的支持。
Taglibs?—?spring-secuity-taglibs.jar
提供Spring Security的JSP标记实现。
Taglibs的依赖关系列表:
spring-security-core
描述:基础核心依赖
spring-security-web
描述:基础依赖
spring-security-acl
描述:如果你使用accesscontrollist标签或带有acl(可选)的hasPermission()表达式,这是必需的。
spring-expression
描述:如果在标签访问约束中使用SPEL表达式,则需要。
猜你喜欢
- 2024-10-01 单点登录终极方案之 CAS 应用及原理
- 2024-10-01 Spring Boot+CAS 单点登录,如何对接数据库?
- 2024-10-01 cas单点登录服务器连接数据库 cas单点登出
- 2024-10-01 shiro集成spring使用cas单点登录配置
- 2024-10-01 聊聊单点登录(SSO)中的CAS认证,看完秒懂!
- 2024-10-01 单点登录(SSO)解决方案介绍 单点登录实现流程
- 2024-10-01 Java实现SSO单点登录 java单点登录解决方案
- 2024-10-01 基于spring-security+jwt与cas-server5.3对接
- 2024-10-01 单点登录(SSO)看这一篇就够了 单点登录的三种实现方式简书
- 2024-10-01 SpringBoot+Cas(四) 获取Cas服务器登录信息
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- oraclesql优化 (66)
- 类的加载机制 (75)
- feignclient (62)
- 一致性hash算法 (71)
- dockfile (66)
- 锁机制 (57)
- javaresponse (60)
- 查看hive版本 (59)
- phpworkerman (57)
- spark算子 (58)
- vue双向绑定的原理 (68)
- springbootget请求 (58)
- docker网络三种模式 (67)
- spring控制反转 (71)
- data:image/jpeg (69)
- base64 (69)
- java分页 (64)
- kibanadocker (60)
- qabstracttablemodel (62)
- java生成pdf文件 (69)
- deletelater (62)
- com.aspose.words (58)
- android.mk (62)
- qopengl (73)
- epoch_millis (61)
本文暂时没有评论,来添加一个吧(●'◡'●)