Go to file
Rob Winch f690a7f3df Encapsulate extractPrincipalNameFromEmail property
This simplifies the logic when extracting the principal and allows
more flexibility in the future by allowing the format and regex to be
added as setters.
2025-06-12 12:09:20 -05:00
.github Explicit Permissions for codeql.yml 2025-06-10 10:46:23 -05:00
.idea
.vscode
acl Update Deprecated Spring Jdbc Usage 2025-04-23 11:29:18 -06:00
aspects Use .equals to Compare Methods 2025-05-19 09:26:30 -06:00
bom
buildSrc RepositoryConventionPlugin supports arbitrary repositories 2025-05-22 15:43:38 -05:00
cas
config Add Support SubjectX500PrincipalExtractor 2025-06-12 12:09:20 -05:00
core Include UsernameNotFoundException in BadCredentialsException 2025-06-02 16:12:47 -06:00
crypto remove 32-byte minimum keyLength restriction in `Base64StringKeyGenerator` (#17012) 2025-05-14 11:41:30 -05:00
data
dependencies
docs Add Support SubjectX500PrincipalExtractor 2025-06-12 12:09:20 -05:00
etc
git/hooks Update to 7.0.0-SNAPSHOT 2025-05-06 13:26:14 -05:00
gradle Bump io.micrometer:micrometer-observation from 1.14.7 to 1.14.8 2025-06-10 03:41:53 +00:00
itest
javascript
ldap Use UsernameNotFoundException Factory 2025-05-28 14:13:02 -06:00
messaging Correct JavaDoc Class Reference 2025-04-23 11:29:18 -06:00
oauth2 Polish BearerTokenAuthenticationConverter Support 2025-06-04 18:17:17 -06:00
rsocket Add Missing Deprecation Markers 2025-04-23 11:29:18 -06:00
saml2/saml2-service-provider Polish JdbcAssertingPartyMetadataRepository 2025-06-11 18:08:31 -06:00
scripts
taglibs Update to 7.0.0-SNAPSHOT 2025-05-06 13:26:14 -05:00
test Remove deprecated `MemberCategory#DECLARED_FIELDS` 2025-05-23 14:36:54 -06:00
web Encapsulate extractPrincipalNameFromEmail property 2025-06-12 12:09:20 -05:00
.editorconfig
.gitattributes
.gitignore
.sdkmanrc
CONTRIBUTING.adoc
LICENSE.txt
README.adoc
RELEASE.adoc
build.gradle
class_mapping_from_2.0.x.txt
gradle.properties Remove Conflict Markers 2025-05-22 12:31:40 -06:00
gradlew Bump Gradle Wrapper from 8.13 to 8.14. 2025-04-29 14:48:42 -06:00
gradlew.bat Bump Gradle Wrapper from 8.13 to 8.14. 2025-04-29 14:48:42 -06:00
notice.txt
settings.gradle Bump io.spring.develocity.conventions from 0.0.22 to 0.0.23 2025-06-04 03:47:25 +00:00

README.adoc

image::https://badges.gitter.im/Join%20Chat.svg[Gitter,link=https://gitter.im/spring-projects/spring-security?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge]

image:https://github.com/spring-projects/spring-security/actions/workflows/continuous-integration-workflow.yml/badge.svg?branch=main["Build Status", link="https://github.com/spring-projects/spring-security/actions/workflows/continuous-integration-workflow.yml"]

image:https://img.shields.io/badge/Revved%20up%20by-Develocity-06A0CE?logo=Gradle&labelColor=02303A["Revved up by Develocity", link="https://ge.spring.io/scans?search.rootProjectNames=spring-security"]

= Spring Security

Spring Security provides security services for the https://docs.spring.io[Spring IO Platform]. Spring Security 6.0 requires Spring 6.0 as
a minimum and also requires Java 17.

For a detailed list of features and access to the latest release, please visit https://spring.io/projects[Spring projects].

== Code of Conduct
Please see our https://github.com/spring-projects/.github/blob/main/CODE_OF_CONDUCT.md[code of conduct]

== Downloading Artifacts
See https://docs.spring.io/spring-security/reference/getting-spring-security.html[Getting Spring Security] for how to obtain Spring Security.

== Documentation
Be sure to read the https://docs.spring.io/spring-security/reference/[Spring Security Reference].
Extensive JavaDoc for the Spring Security code is also available in the https://docs.spring.io/spring-security/site/docs/current/api/[Spring Security API Documentation].

You may also want to check out https://docs.spring.io/spring-security/reference/whats-new.html[what's new in the latest release].

== Quick Start
See https://docs.spring.io/spring-security/reference/servlet/getting-started.html[Hello Spring Security] to get started with a "Hello, World" application.

== Building from Source
Spring Security uses a https://gradle.org[Gradle]-based build system.
In the instructions below, https://vimeo.com/34436402[`./gradlew`] is invoked from the root of the source tree and serves as
a cross-platform, self-contained bootstrap mechanism for the build.

=== Prerequisites
https://docs.github.com/en/get-started/quickstart/set-up-git[Git] and the https://www.oracle.com/java/technologies/downloads/#java17[JDK17 build].

Be sure that your `JAVA_HOME` environment variable points to the `jdk-17` folder extracted from the JDK download.

=== Check out sources
[indent=0]
----
git clone git@github.com:spring-projects/spring-security.git
----

=== Install all `spring-*.jar` into your local Maven repository.

[indent=0]
----
./gradlew publishToMavenLocal
----

=== Compile and test; build all JARs, distribution zips, and docs

[indent=0]
----
./gradlew build
----

The reference docs are not currently included in the distribution zip.
You can build the reference docs for this branch by running the following command:

----
./gradlew :spring-security-docs:antora
----

That command publishes the docs site to the `_docs/build/site_` directory.
The https://github.com/spring-projects/spring-security/tree/docs-build[playbook branch] describes how to build the reference docs in detail.

Discover more commands with `./gradlew tasks`.

== Getting Support
Check out the https://stackoverflow.com/questions/tagged/spring-security[Spring Security tags on Stack Overflow].
https://spring.io/support[Commercial support] is available too.

== Contributing
https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request[Pull requests] are welcome; see the https://github.com/spring-projects/spring-security/blob/main/CONTRIBUTING.adoc[contributor guidelines] for details.

== License
Spring Security is Open Source software released under the
https://www.apache.org/licenses/LICENSE-2.0.html[Apache 2.0 license].