Spring Security


title: "Spring Security" type: doc version: 1 created: 2026-02-28 author: "Wikipedia contributors" status: active scope: public tags: ["java-enterprise-platform", "computer-access-control"] topic_path: "general/java-enterprise-platform" source: "https://en.wikipedia.org/wiki/Spring_Security" license: "CC BY-SA 4.0" wikipedia_page_id: 0 wikipedia_revision_id: 0

::data[format=table title="Infobox software"]

FieldValue
nameSpring Security
developer4
latest release version6.5.1
latest release date
operating systemCross-platform
programming languageJava
genreweb application framework security
licenseApache License 2.0
website
::

| name = Spring Security | logo = | screenshot = | caption = | collapsible = | developer = 4 | latest release version = 6.5.1 | latest release date =
| latest preview version = | latest preview date = | operating system = Cross-platform | programming language = Java | genre = web application framework security | license = Apache License 2.0 | website =

Spring Security is a Java/Java EE framework that provides authentication, authorization and other security features for enterprise applications. The project was started in late 2003 as 'Acegi Security' (pronounced Ah-see-gee , whose letters are the first, third, fifth, seventh, and ninth characters from the English alphabet, in order to prevent name conflicts) by Ben Alex, with it being publicly released under the Apache License in March 2004. Subsequently, Acegi was incorporated into the Spring portfolio as Spring Security, an official Spring sub-project. The first public release under the new name was Spring Security 2.0.0 in April 2008, with commercial support and training available from SpringSource.

Authentication flow

Diagram 1 shows the basic flow of an authentication request using the Spring Security system. It shows the different filters and how they interact from the initial browser request, to either a successful authentication or an HTTP 403 error.

::figure[src="https://upload.wikimedia.org/wikipedia/commons/b/b7/ACEGI_Authentication.JPG"] ::

::data[format=table] | | Error code 403 – if the principal has been authenticated and therefore simply lacks sufficient access Launch an AuthenticationEntryPoint – if the principal has not been authenticated which is an authentication mechanism | |---|---| ::

Key authentication features

Key authorization features

Instance-based security features

Other features

Releases

  • 2.0.0 (April 2008)
  • 3.0.0 (December 2009)
  • 3.1.0 (December 7, 2011)
  • 3.1.2 (August 10, 2012)
  • 3.2.0 (December 16, 2013)
  • 4.0.0 (March 26, 2015)
  • 4.1.3 (August 24, 2016)
  • 4.2.0 (November 10, 2016)
  • 3.2.10, 4.1.4, 4.2.1 (December 22, 2016)
  • 4.2.2 (March 2, 2017)
  • 4.2.3 (June 8, 2017)
  • 5.0.0 (November 28, 2017)
  • 5.0.8, 4.2.8 (September 11, 2018)
  • 5.1.0 GA (September 27, 2018)
  • 5.1.1, 5.0.9, 4.2.9 (October 16, 2018)
  • 5.1.2, 5.0.10, 4.2.10 (November 29, 2018)
  • 5.1.3, 5.0.11, 4.2.11 (January 11, 2019)
  • 5.1.4 (February 14, 2019)
  • 5.1.5, 5.0.12, 4.2.12 (April 3, 2019)

Citations

References

  • {{cite book | last1 = Deinum | first1 = Marten | last2 = Rubio | first2 = Daniel | last3 = Long | first3 = Josh | last4 = Mak | first4 = Gary | title = Spring Recipes: A Problem-Solution Approach | publisher = Apress | edition = Second | date = September 1, 2014 | page = 1104 | isbn = 978-1-4302-2499-0

References

  1. "Spring Security 6.5.1".
  2. "Why the name Acegi?".
  3. (December 29, 2024). "Master OAuth: How To Build a Secure Authorization Server".
  4. "Spring Security 5.0.8 and 4.2.8 Released".
  5. "Spring Security 5.1 goes GA".
  6. "Spring Security 5.1.1, 5.0.9, and 4.2.9 Released".
  7. "Spring Security 5.1.2, 5.0.10, 4.2.10 Released".
  8. "Spring Security 5.1.3, 5.0.11, 4.2.11 Released".
  9. "Spring Security 5.1.4 Released".
  10. "Spring Security 5.1.5, 5.0.12, 4.2.12 Released".

::callout[type=info title="Wikipedia Source"] This article was imported from Wikipedia and is available under the Creative Commons Attribution-ShareAlike 4.0 License. Content has been adapted to SurfDoc format. Original contributors can be found on the article history page. ::

java-enterprise-platformcomputer-access-control