Rob Winch 39c43159f4 Convert to Asciidoctor Tabs
Closes gh-13403
2023-06-18 21:30:41 -05:00

68 lines
1.4 KiB
Plaintext

= Testing Form Based Authentication
You can easily create a request to test a form based authentication using Spring Security's testing support.
For example, the following `formLogin` xref:servlet/test/mockmvc/request-post-processors.adoc[`RequestPostProcessor`] will submit a POST to "/login" with the username "user", the password "password", and a valid CSRF token:
[tabs]
======
Java::
+
[source,java,role="primary"]
----
mvc
.perform(formLogin())
----
Kotlin::
+
[source,kotlin,role="secondary"]
----
mvc
.perform(formLogin())
----
======
It is easy to customize the request.
For example, the following will submit a POST to "/auth" with the username "admin", the password "pass", and a valid CSRF token:
[tabs]
======
Java::
+
[source,java,role="primary"]
----
mvc
.perform(formLogin("/auth").user("admin").password("pass"))
----
Kotlin::
+
[source,kotlin,role="secondary"]
----
mvc
.perform(formLogin("/auth").user("admin").password("pass"))
----
======
We can also customize the parameters names that the username and password are included on.
For example, this is the above request modified to include the username on the HTTP parameter "u" and the password on the HTTP parameter "p".
[tabs]
======
Java::
+
[source,java,role="primary"]
----
mvc
.perform(formLogin("/auth").user("u","admin").password("p","pass"))
----
Kotlin::
+
[source,kotlin,role="secondary"]
----
mvc
.perform(formLogin("/auth").user("u","admin").password("p","pass"))
----
======