You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/manual/src/docs/asciidoc/_includes/about/modules.adoc
+226-1Lines changed: 226 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,11 +1,21 @@
1
1
// FIXME: This might make sense in Getting Spring Security along with the artifact information
2
2
3
3
[[modules]]
4
-
= Project Modules
4
+
= Project Modules and Dependencies
5
5
In Spring Security 3.0, the codebase was sub-divided into separate jars which more clearly separate different functionality areas and third-party dependencies.
6
6
If you use Maven to build your project, these are the modules you should add to your `pom.xml`.
7
7
Even if you do not use Maven, we recommend that you consult the `pom.xml` files to get an idea of third-party dependencies and versions.
8
8
Another good idea is to examine the libraries that are included in the sample applications.
9
+
This section provides a reference of the modules in Spring Security and the additional dependencies that they require in order to function in a running application.
10
+
We don't include dependencies that are only used when building or testing Spring Security itself.
11
+
Nor do we include transitive dependencies which are required by external dependencies.
12
+
13
+
The version of Spring required is listed on the project website, so the specific versions are omitted for Spring dependencies below.
14
+
Note that some of the dependencies listed as "optional" below may still be required for other non-security functionality in a Spring application.
15
+
Also dependencies listed as "optional" may not actually be marked as such in the project's Maven POM files if they are used in most applications.
16
+
They are "optional" only in the sense that you don't need them unless you are using the specified functionality.
17
+
18
+
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.
9
19
10
20
11
21
[[spring-security-core]]
@@ -20,12 +30,62 @@ It contains the following top-level packages:
20
30
* `org.springframework.security.authentication`
21
31
* `org.springframework.security.provisioning`
22
32
33
+
.Core Dependencies
34
+
|===
35
+
| Dependency | Version | Description
36
+
37
+
| ehcache
38
+
| 1.6.2
39
+
| Required if the Ehcache-based user cache implementation is used (optional).
40
+
41
+
| spring-aop
42
+
|
43
+
| Method security is based on Spring AOP
44
+
45
+
| spring-beans
46
+
|
47
+
| Required for Spring configuration
48
+
49
+
| spring-expression
50
+
|
51
+
| Required for expression-based method security (optional)
52
+
53
+
| spring-jdbc
54
+
|
55
+
| Required if using a database to store user data (optional).
56
+
57
+
| spring-tx
58
+
|
59
+
| Required if using a database to store user data (optional).
60
+
61
+
| aspectjrt
62
+
| 1.6.10
63
+
| Required if using AspectJ support (optional).
64
+
65
+
| jsr250-api
66
+
| 1.0
67
+
| Required if you are using JSR-250 method-security annotations (optional).
68
+
|===
69
+
70
+
23
71
[[spring-security-remoting]]
24
72
== Remoting -- `spring-security-remoting.jar`
25
73
This module provides integration with Spring Remoting.
26
74
You do not need this unless you are writing a remote client that uses Spring Remoting.
27
75
The main package is `org.springframework.security.remoting`.
28
76
77
+
.Remoting Dependencies
78
+
|===
79
+
| Dependency | Version | Description
80
+
81
+
| spring-security-core
82
+
|
83
+
|
84
+
85
+
| spring-web
86
+
|
87
+
| Required for clients which use HTTP remoting support.
88
+
|===
29
89
30
90
[[spring-security-web]]
31
91
== Web -- `spring-security-web.jar`
@@ -34,6 +94,26 @@ It contains anything with a servlet API dependency.
34
94
You need it if you require Spring Security web authentication services and URL-based access-control.
35
95
The main package is `org.springframework.security.web`.
36
96
97
+
.Web Dependencies
98
+
|===
99
+
| Dependency | Version | Description
100
+
101
+
| spring-security-core
102
+
|
103
+
|
104
+
105
+
| spring-web
106
+
|
107
+
| Spring web support classes are used extensively.
108
+
109
+
| spring-jdbc
110
+
|
111
+
| Required for JDBC-based persistent remember-me token repository (optional).
112
+
113
+
| spring-tx
114
+
|
115
+
| Required by remember-me persistent token repository implementations (optional).
116
+
|===
37
117
38
118
[[spring-security-config]]
39
119
== Config -- `spring-security-config.jar`
@@ -42,13 +122,67 @@ You need it if you use the Spring Security XML namespace for configuration or Sp
42
122
The main package is `org.springframework.security.config`.
43
123
None of the classes are intended for direct use in an application.
44
124
125
+
.Config Dependencies
126
+
|===
127
+
| Dependency | Version | Description
128
+
129
+
| spring-security-core
130
+
|
131
+
|
132
+
133
+
| spring-security-web
134
+
|
135
+
| Required if you are using any web-related namespace configuration (optional).
136
+
137
+
| spring-security-ldap
138
+
|
139
+
| Required if you are using the LDAP namespace options (optional).
140
+
141
+
| spring-security-openid
142
+
|
143
+
| Required if you are using OpenID authentication (optional).
144
+
145
+
| aspectjweaver
146
+
| 1.6.10
147
+
| Required if using the protect-pointcut namespace syntax (optional).
148
+
|===
45
149
46
150
[[spring-security-ldap]]
47
151
== LDAP -- `spring-security-ldap.jar`
48
152
This module provides LDAP authentication and provisioning code.
49
153
It is required if you need to use LDAP authentication or manage LDAP user entries.
50
154
The top-level package is `org.springframework.security.ldap`.
51
155
156
+
.LDAP Dependencies
157
+
|===
158
+
| Dependency | Version | Description
159
+
160
+
| spring-security-core
161
+
|
162
+
|
163
+
164
+
| spring-ldap-core
165
+
| 1.3.0
166
+
| LDAP support is based on Spring LDAP.
167
+
168
+
| spring-tx
169
+
|
170
+
| Data exception classes are required.
171
+
172
+
| apache-ds footnote:[The modules `apacheds-core`, `apacheds-core-entry`, `apacheds-protocol-shared`, `apacheds-protocol-ldap` and `apacheds-server-jndi` are required.
173
+
]
174
+
| 1.5.5
175
+
| Required if you are using an embedded LDAP server (optional).
176
+
177
+
| shared-ldap
178
+
| 0.9.15
179
+
| Required if you are using an embedded LDAP server (optional).
180
+
181
+
| ldapsdk
182
+
| 4.1
183
+
| Mozilla LdapSDK.
184
+
Used for decoding LDAP password policy controls if you are using password-policy functionality with OpenLDAP, for example.
0 commit comments