Can't get Spring security "remember me" feature to work -
i'm new spring , java. trying set security remember me feature.
here security.xml , login.jsp files. doing wrong?
security.xml
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:security="http://www.springframework.org/schema/security" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:schemalocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-4.0.xsd"> <security:authentication-manager> <security:authentication-provider> <security:jdbc-user-service data-source-ref="datasource"/> <security:password-encoder ref="passwordencoder"/> </security:authentication-provider> </security:authentication-manager> <security:http use-expressions="true"> <security:intercept-url pattern="/" access="permitall"/> <security:intercept-url pattern="/createplayer" access="isauthenticated()"/> <security:intercept-url pattern="/players" access="hasrole('role_admin')"/> <security:intercept-url pattern="/createaccount" access="permitall"/> <security:intercept-url pattern="/login" access="permitall"/> <security:intercept-url pattern="/logout" access="permitall"/> <security:intercept-url pattern="/welcome" access="hasrole('role_admin')"/> <security:intercept-url pattern="/**" access="denyall"/> <security:form-login login-page="/login" authentication-failure-url="/login?error=true"/> <security:remember-me key="myappkey" remember-me-parameter="remember-me" remember-me-cookie="remember-me" token-validity-seconds="604800" data-source-ref="datasource"/> </security:http> <bean id="passwordencoder" class="org.springframework.security.crypto.bcrypt.bcryptpasswordencoder"> </bean> </beans> login.jsp
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <html> <body> <h1>login</h1> <c:if test="${param.error != null}"> login failed. check if username or password correct! </c:if> <form action = "/login", method="post"> <input type="hidden" name="${_csrf.parametername}" value="${_csrf.token}"/> name <br> <input name="username"/> <br> password<br> <input type="password" name="password"/> <br> remember me <br> <input type="checkbox" name="remember-me"> <br><br> <input type="submit"> <br><br> </form> <h2>${msg}</h2> <br> <a href = "http://localhost:9999/createaccount"> create account </a> <br> </body> </html> p.s. tried adding
<session-config> <session-timeout>1</session-timeout> </session-config> to web.xml check if "remember me" works, instead "remembering me" logs out in 1 minute.
add id jdbc-user-service
<security:jdbc-user-service data-source-ref="datasource" id="jdbcuserservice/> and refer service remember-me it's id this:
<security:remember-me key="myappkey" user-service-ref="jdbcuserservice"/>
Comments
Post a Comment