diff --git a/config/src/main/java/org/springframework/security/config/annotation/web/configurers/RememberMeConfigurer.java b/config/src/main/java/org/springframework/security/config/annotation/web/configurers/RememberMeConfigurer.java index 495a8f65d69..8a739fdfb54 100644 --- a/config/src/main/java/org/springframework/security/config/annotation/web/configurers/RememberMeConfigurer.java +++ b/config/src/main/java/org/springframework/security/config/annotation/web/configurers/RememberMeConfigurer.java @@ -162,6 +162,17 @@ public RememberMeConfigurer key(String key) { return this; } + /** + * The HTTP parameter used to indicate to remember the user at time of login. + * + * @param rememberMeParameter the HTTP parameter used to indicate to remember the user + * @return the {@link RememberMeConfigurer} for further customization + */ + public RememberMeConfigurer rememberMeParameter(String rememberMeParameter) { + this.rememberMeParameter = rememberMeParameter; + return this; + } + /** * Allows control over the destination a remembered user is sent to when they are successfully authenticated. * By default, the filter will just allow the current request to proceed, but if an diff --git a/config/src/test/groovy/org/springframework/security/config/annotation/web/configurers/NamespaceRememberMeTests.groovy b/config/src/test/groovy/org/springframework/security/config/annotation/web/configurers/NamespaceRememberMeTests.groovy index 835dd373e56..0df84d0620c 100644 --- a/config/src/test/groovy/org/springframework/security/config/annotation/web/configurers/NamespaceRememberMeTests.groovy +++ b/config/src/test/groovy/org/springframework/security/config/annotation/web/configurers/NamespaceRememberMeTests.groovy @@ -252,6 +252,24 @@ public class NamespaceRememberMeTests extends BaseSpringSpec { ReflectionTestUtils.getField(findFilter(RememberMeAuthenticationFilter).rememberMeServices, "useSecureCookie") == true } + @Configuration + static class RememberMeParameterConfig extends BaseWebConfig { + protected void configure(HttpSecurity http) throws Exception { + http + .formLogin() + .and() + .rememberMe() + .rememberMeParameter("rememberMe") + } + } + + def "http/remember-me@remember-me-parameter"() { + when: "use custom rememberMeParameter" + loadConfig(RememberMeParameterConfig) + then: "custom rememberMeParameter will be used" + findFilter(RememberMeAuthenticationFilter).rememberMeServices.parameter == "rememberMe" + } + @Configuration static class UseSecureCookieConfig extends BaseWebConfig { protected void configure(HttpSecurity http) throws Exception {