Spring Security
Go to file
Marcus Hert Da Coregio 4fb6a33d36 Verify Serializable Objects Are Deserializable Between Minor Versions
This commit introduces a test that verifies that Spring Security domain classes that implements Serializable and have the same serialVersionUID as SpringSecurityCoreVersion#SERIAL_VERSION_UID can be deserialized between minor versions.

This commit also introduces another test that should be used to generate the files containing the serialized content of the objects.

Closes gh-3737
2024-01-05 12:00:02 -03:00
.github Bump Gamesight/slack-workflow-status from 1.0.1 to 1.2.0 2023-12-14 15:15:47 -03:00
.idea Fix checkstyle rules could not be parsed 2020-11-23 14:33:18 -05:00
.vscode Make eclipse/vscode project import work 2023-06-05 13:34:30 -06:00
acl Revert unnecessary merges on 6.0.x 2023-10-31 15:11:45 -05:00
aspects Revert unnecessary merges on 6.0.x 2023-10-31 15:11:45 -05:00
bom fix bom 2021-05-17 22:29:45 -05:00
buildSrc Merge branch '6.1.x' into 6.2.x 2023-12-05 18:05:55 -06:00
cas Revert unnecessary merges on 6.1.x 2023-10-31 15:22:15 -05:00
config Verify Serializable Objects Are Deserializable Between Minor Versions 2024-01-05 12:00:02 -03:00
core Merge branch '6.1.x' into 6.2.x 2023-12-09 11:50:58 -07:00
crypto Use assertj assertions 2023-11-17 09:05:38 -03:00
data Apply updated Code Style 2023-09-29 11:44:32 -03:00
dependencies Verify Serializable Objects Are Deserializable Between Minor Versions 2024-01-05 12:00:02 -03:00
docs Merge branch '6.1.x' into 6.2.x 2024-01-03 11:30:00 -03:00
etc Revert unnecessary merges on 6.0.x 2023-10-31 15:11:45 -05:00
git/hooks Revert unnecessary merges on 6.1.x 2023-10-31 15:22:15 -05:00
gradle Verify Serializable Objects Are Deserializable Between Minor Versions 2024-01-05 12:00:02 -03:00
itest Revert unnecessary merges on 6.0.x 2023-10-31 15:11:45 -05:00
ldap Mark Container As Not Running 2023-11-06 08:43:14 -07:00
messaging Revert unnecessary merges on 6.0.x 2023-10-31 15:11:45 -05:00
oauth2 Merge branch '6.1.x' into 6.2.x 2024-01-05 07:53:43 -03:00
rsocket Revert unnecessary merges on 6.0.x 2023-10-31 15:11:45 -05:00
saml2/saml2-service-provider Use assertj assertions 2023-11-17 09:05:38 -03:00
scripts Exclude duplicate issues from changelog 2022-04-20 09:03:57 -03:00
taglibs Revert unnecessary merges on 6.1.x 2023-10-31 15:22:15 -05:00
test Merge branch '6.1.x' into 6.2.x 2023-12-26 15:58:39 -03:00
web Merge branch '6.1.x' into 6.2.x 2023-12-18 11:47:23 -07:00
.editorconfig Fixed link in .editorconfig 2021-10-13 15:36:10 -06:00
.gitattributes Install Structure101 Plugin 2021-09-27 14:56:03 -06:00
.gitignore Ignore Lock Files 2020-02-07 13:59:05 -06:00
.sdkmanrc Update java version to 17.0.3-tem 2022-06-14 14:43:34 -05:00
CONTRIBUTING.adoc Revert unnecessary merges on 6.0.x 2023-10-31 15:11:45 -05:00
LICENSE.txt Add LICENSE.txt 2020-04-15 16:44:13 -05:00
README.adoc Merge branch '5.8.x' into 6.0.x 2023-03-20 16:59:52 -06:00
RELEASE.adoc Revert unnecessary merges on 6.0.x 2023-10-31 15:11:45 -05:00
build.gradle Run Gradle Wrapper Upgrade on 6.1.x 2023-11-30 16:00:29 -03:00
class_mapping_from_2.0.x.txt SEC-1148: Simple classname mapping from 2.0 to 3.0 2009-12-02 22:44:30 +00:00
gradle.properties Next development version 2023-12-18 19:49:40 +00:00
gradlew Bump Gradle Wrapper from 8.3 to 8.4 2023-10-10 08:16:18 -03:00
gradlew.bat Upgrade to Gradle 8.3 2023-09-21 15:28:24 +01:00
notice.txt URL Cleanup 2019-03-19 23:53:23 -05:00
settings.gradle Revert unnecessary merges on 6.1.x 2023-10-31 15:22:15 -05: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/workflows/CI/badge.svg?branch=main["Build Status", link="https://github.com/spring-projects/spring-security/actions?query=workflow%3ACI"]

image:https://img.shields.io/badge/Revved%20up%20by-Gradle%20Enterprise-06A0CE?logo=Gradle&labelColor=02303A["Revved up by Gradle Enterprise", 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/site/docs/current/reference/html5/#getting[Getting Spring Security] for how to obtain Spring Security.

== Documentation
Be sure to read the https://docs.spring.io/spring-security/site/docs/current/reference/htmlsingle/[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].

== Quick Start
See https://docs.spring.io/spring-security/site/docs/current/reference/html5/#servlet-hello[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].