mirror of
https://github.com/spring-projects/spring-security.git
synced 2025-07-08 19:42:48 +00:00
SEC-1445: Added support for custom username and password parameters in form-login.
This commit is contained in:
parent
47ab2655d0
commit
165cbb0d19
@ -29,6 +29,8 @@ public class FormLoginBeanDefinitionParser {
|
|||||||
private static final String ATT_FORM_LOGIN_TARGET_URL = "default-target-url";
|
private static final String ATT_FORM_LOGIN_TARGET_URL = "default-target-url";
|
||||||
private static final String ATT_ALWAYS_USE_DEFAULT_TARGET_URL = "always-use-default-target";
|
private static final String ATT_ALWAYS_USE_DEFAULT_TARGET_URL = "always-use-default-target";
|
||||||
private static final String DEF_FORM_LOGIN_TARGET_URL = "/";
|
private static final String DEF_FORM_LOGIN_TARGET_URL = "/";
|
||||||
|
private static final String ATT_USERNAME_PARAMETER = "username-parameter";
|
||||||
|
private static final String ATT_PASSWORD_PARAMETER = "password-parameter";
|
||||||
|
|
||||||
private static final String ATT_FORM_LOGIN_AUTHENTICATION_FAILURE_URL = "authentication-failure-url";
|
private static final String ATT_FORM_LOGIN_AUTHENTICATION_FAILURE_URL = "authentication-failure-url";
|
||||||
private static final String DEF_FORM_LOGIN_AUTHENTICATION_FAILURE_URL =
|
private static final String DEF_FORM_LOGIN_AUTHENTICATION_FAILURE_URL =
|
||||||
@ -63,6 +65,9 @@ public class FormLoginBeanDefinitionParser {
|
|||||||
String alwaysUseDefault = null;
|
String alwaysUseDefault = null;
|
||||||
String successHandlerRef = null;
|
String successHandlerRef = null;
|
||||||
String failureHandlerRef = null;
|
String failureHandlerRef = null;
|
||||||
|
// Only available with form-login
|
||||||
|
String usernameParameter = null;
|
||||||
|
String passwordParameter = null;
|
||||||
|
|
||||||
Object source = null;
|
Object source = null;
|
||||||
|
|
||||||
@ -83,10 +88,20 @@ public class FormLoginBeanDefinitionParser {
|
|||||||
loginPage = null;
|
loginPage = null;
|
||||||
}
|
}
|
||||||
WebConfigUtils.validateHttpRedirect(loginPage, pc, source);
|
WebConfigUtils.validateHttpRedirect(loginPage, pc, source);
|
||||||
|
usernameParameter = elt.getAttribute(ATT_USERNAME_PARAMETER);
|
||||||
|
passwordParameter = elt.getAttribute(ATT_PASSWORD_PARAMETER);
|
||||||
}
|
}
|
||||||
|
|
||||||
filterBean = createFilterBean(loginUrl, defaultTargetUrl, alwaysUseDefault, loginPage, authenticationFailureUrl,
|
filterBean = createFilterBean(loginUrl, defaultTargetUrl, alwaysUseDefault, loginPage, authenticationFailureUrl,
|
||||||
successHandlerRef, failureHandlerRef);
|
successHandlerRef, failureHandlerRef);
|
||||||
|
|
||||||
|
if (StringUtils.hasText(usernameParameter)) {
|
||||||
|
filterBean.getPropertyValues().addPropertyValue("usernameParameter", usernameParameter);
|
||||||
|
}
|
||||||
|
if (StringUtils.hasText(passwordParameter)) {
|
||||||
|
filterBean.getPropertyValues().addPropertyValue("passwordParameter", passwordParameter);
|
||||||
|
}
|
||||||
|
|
||||||
filterBean.setSource(source);
|
filterBean.setSource(source);
|
||||||
|
|
||||||
BeanDefinitionBuilder entryPointBuilder =
|
BeanDefinitionBuilder entryPointBuilder =
|
||||||
|
@ -350,6 +350,12 @@ form-login =
|
|||||||
form-login.attlist &=
|
form-login.attlist &=
|
||||||
## The URL that the login form is posted to. If unspecified, it defaults to /j_spring_security_check.
|
## The URL that the login form is posted to. If unspecified, it defaults to /j_spring_security_check.
|
||||||
attribute login-processing-url {xsd:token}?
|
attribute login-processing-url {xsd:token}?
|
||||||
|
form-login.attlist &=
|
||||||
|
## The name of the request parameter which contains the username. Defaults to 'j_username'.
|
||||||
|
attribute username-parameter {xsd:token}?
|
||||||
|
form-login.attlist &=
|
||||||
|
## The name of the request parameter which contains the password. Defaults to 'j_password'.
|
||||||
|
attribute password-parameter {xsd:token}?
|
||||||
form-login.attlist &=
|
form-login.attlist &=
|
||||||
## The URL that will be redirected to after successful authentication, if the user's previous action could not be resumed. This generally happens if the user visits a login page without having first requested a secured operation that triggers authentication. If unspecified, defaults to the root of the application.
|
## The URL that will be redirected to after successful authentication, if the user's previous action could not be resumed. This generally happens if the user visits a login page without having first requested a secured operation that triggers authentication. If unspecified, defaults to the root of the application.
|
||||||
attribute default-target-url {xsd:token}?
|
attribute default-target-url {xsd:token}?
|
||||||
|
@ -870,6 +870,16 @@
|
|||||||
<xs:documentation>The URL that the login form is posted to. If unspecified, it defaults to /j_spring_security_check.</xs:documentation>
|
<xs:documentation>The URL that the login form is posted to. If unspecified, it defaults to /j_spring_security_check.</xs:documentation>
|
||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
</xs:attribute>
|
</xs:attribute>
|
||||||
|
<xs:attribute name="username-parameter" type="xs:token">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>The name of the request parameter which contains the username. Defaults to 'j_username'.</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:attribute>
|
||||||
|
<xs:attribute name="password-parameter" type="xs:token">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>The name of the request parameter which contains the password. Defaults to 'j_password'. </xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:attribute>
|
||||||
<xs:attribute name="default-target-url" type="xs:token">
|
<xs:attribute name="default-target-url" type="xs:token">
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
<xs:documentation>The URL that will be redirected to after successful authentication, if the user's previous action could not be resumed. This generally happens if the user visits a login page without having first requested a secured operation that triggers authentication. If unspecified, defaults to the root of the application.</xs:documentation>
|
<xs:documentation>The URL that will be redirected to after successful authentication, if the user's previous action could not be resumed. This generally happens if the user visits a login page without having first requested a secured operation that triggers authentication. If unspecified, defaults to the root of the application.</xs:documentation>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user