Spring Security Dependencies
This appendix provides a reference of the modules in Spring Security and the additional
dependencies that they require in order to function in a running application. We don't include
dependenices that are only used when building or testing Spring Security itself. Nor do we include
transitive dependencies which are required by external dependencies.
The version of Spring required is listed on the project website, so the specific versions are omitted
for Spring dependencies below. Note that some of the dependencies listed as optional
below may still be required for other non-security functionality in a Spring application.
Where a module depends on another Spring Security module, the non-optional dependencies of the
module it depends on are also assumed to be required and are not listed separately.
spring-security-core
The core module must be included in any project using Spring Security.
Core Depenendencies
Dependency
Version
Description
aopalliance
1.0
Required for method security implementation.
ehcache
1.6.2
Required if the ehcache-based user cache implementation is used (optional).
spring-aop
Method security is based on Spring AOP
spring-beans
Required for Spring configuration
spring-expression
Required for expression-based method security
spring-jdbc
Required if using a database to store user data (optional).
spring-tx
Required if using a database to store user data (optional).
spring-web
Required for clients which use HTTP remoting support (optional).
aspectjrt
1.6.10
Required if using AspectJ support (optional).
jsr250-api
1.0
Required if you are using JSR-250 method-security annotations (optional).
spring-security-web
This module is typically required in web applications which use the Servlet API.
Web Dependencies
Dependency
Version
Description
spring-security-core
spring-web
Spring web support classes are used extensively.
spring-jdbc
Required for JDBC-based persistent remember-me token repository (optional).
spring-tx
Required by remember-me persistent token repository implementations (optional).
spring-security-ldap
This module is only required if you are using LDAP authentication.
LDAP Dependencies
Dependency
Version
Description
spring-security-core
spring-ldap-core
1.3.0
LDAP support is based on Spring LDAP.
spring-tx
Data exception classes are required.
apache-ds The modules apacheds-core,
apacheds-core-entry, apacheds-protocol-shared,
apacheds-protocol-ldap and apacheds-server-jndi are required.
1.5.5
Required if you are using an embedded LDAP server (optional).
shared-ldap
0.9.15
Required if you are using an embedded LDAP server (optional).
ldapsdk
4.1
Mozilla LdapSDK. Used for decoding LDAP password policy controls if you are
using password-policy functionality with OpenLDAP, for example.
spring-security-config
This module is required if you are using Spring Security namespace configuration.
Config Dependencies
Dependency
Version
Description
spring-security-core
spring-security-web
Required if you are using any web-related namespace configuration (optional).
spring-security-ldap
Required if you are using the LDAP namespace options (optional).
spring-security-openid
Required if you are using OpenID authentication (optional).
aspectjweaver
1.6.10
Required if using the protect-pointcut namespace syntax (optional).
spring-security-acl
The ACL module.
ACL Dependencies
Dependency
Version
Description
spring-security-core
ehcache
1.6.2
Required if the ehcache-based ACL cache implementation is used (optional if you are using your own implementation).
spring-jdbc
Required if you are using the default JDBC-based AclService (optional if you implement your own).
spring-tx
Required if you are using the default JDBC-based AclService (optional if you implement your own).
spring-security-cas
The CAS module provides integration with JA-SIG CAS.
CAS Dependencies
Dependency
Version
Description
spring-security-core
spring-security-web
cas-client-core
3.1.12
The JA-SIG CAS Client. This is the basis of the Spring Security integration.
ehcache
1.6.2
Required if you are using the ehcache-based ticket cache (optional).
spring-security-openid
The OpenID module.
OpenID Dependencies
Dependency
Version
Description
spring-security-core
spring-security-web
openid4java-nodeps
0.95
Spring Security's OpenID integration uses OpenID4Java.
spring-security-taglibs
Provides Spring Security's JSP tag implementations.
Taglib Dependencies
Dependency
Version
Description
spring-security-core
spring-security-web
spring-security-acl
Required if you are using the accesscontrollist tag or
hasPermission() expressions with ACLs (optional).
spring-expression
Required if you are using SPEL expressions in your tag access constraints.