////
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
////

The Spring Security plugins are built on the https://spring.io/projects/spring-security[Spring Security] project which provides a flexible, extensible framework for building all sorts of authentication and authorization schemes. The plugins are modular so you can install just the functionality that you need for your application. The Spring Security plugins are the official security plugins for Grails and are actively maintained and supported.

The *Core* plugin supports form-based authentication, encrypted/salted passwords, HTTP Basic authentication, etc. and secondary dependent plugins provide alternate functionality such as ACL support, single sign-on with Apereo CAS, LDAP authentication, OAuth2 client support, REST token authentication, and a plugin providing user interface extensions and security workflows.

The reference documentation for each plugin is included in the following sections:

* <<springSecurityCore,Core Plugin>> &#8212; the foundational authentication and authorization plugin.
* <<springSecurityAcl,ACL Plugin>> &#8212; domain-instance-level access control lists.
* <<springSecurityCas,CAS Plugin>> &#8212; single sign-on with Apereo CAS.
* <<springSecurityLdap,LDAP Plugin>> &#8212; authentication against an LDAP server.
* <<springSecurityOauth2,OAuth2 Plugin>> &#8212; authentication using external OAuth2 providers.
* <<springSecurityRest,REST Plugin>> &#8212; token-based authentication for stateless REST APIs.
* <<springSecurityUi,UI Plugin>> &#8212; CRUD screens and workflows for managing users, roles and request maps.

NOTE: These plugins were previously developed and released independently from the https://github.com/apache/grails-spring-security[grails-spring-security] repository. As of Grails 7 their source has been merged into Grails core and they are documented here. For documentation of earlier, independently versioned releases, see the link:{grailsSpringSecurityLegacyDocs}/[legacy Spring Security plugin documentation].
