现在我们来用Spring Security检测一下登录功能,添加在views下添加一个main.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
我已经登录进来了!
</body>
</html>
在LoginController里添加登录main的映射,这个方法说明请求main.do的时候,跳转main
@RequestMapping(method=RequestMethod.GET,value="/main.do")
public String toMain() {
return "main";
}
<http auto-config="true" use-expressions="true">
<intercept-url pattern="/login.do" access="permitAll"/>
<intercept-url pattern="/*" access="hasRole('ROLE_USER')"/>
<form-login default-target-url="/main.do" />
</http>
这样如果登录页面发送请求,default-target-url默认登录成功后跳转的url,还有其他属性可以自己去查查,这样我们用guest/guest登录,就可以登录进main.jsp。
顺便我们来说说Spring Security实现remember-me功能,修改dogstore-security.xml配置文件,添加<remember-me>声明。设置key属性为jbcpPetStore:
<http auto-config="true" use-expressions="true">
<intercept-url pattern="/login.do" access="permitAll"/>
<intercept-url pattern="/*" access="hasRole('ROLE_USER')"/>
<form-login default-target-url="/main.do" />
<remember-me key="jbcpPetStore"/>
</http>
修改登录页面remember-me的checkbox框
<label>
<input type="checkbox" id="_spring_security_remember_me" name="_spring_security_remember_me">
Remember me?
</label>
当我们再次登录时,如果Remember Me被选中,一个Remember Me的cookie将会设置在用户的浏览器中。
如果用户关闭浏览器并重新打开访问一个JBCP Pets站点上需要认证的页面,他将不会再看到登录页了。请亲自试一下——登录并将Remember Me选项选中,收藏首页,然后重启浏览器并再次访问首页。你能发现你直接登录成功并不再需要提供凭证。
Remember me功能设置了一个cookie在用户的浏览器上,它包含一个Base64编码的字符串,包含以下内容:
用户的名字;
过期的日期/时间;
一个MD5的散列值包括过期日期/时间、用户名和密码;
应用的key值,是在<remember-me>元素的key属性中定义的。
这些内容将被组合成一个cookie的值存储在浏览器中以备后用。
可以修改两个常用的配置来改变remember me功能的默认行为:
属性 | 描述 |
Key | 为remember mecookie定义一个唯一的key值,以与我们的应用关联 |
token-validity-seconds | 定义时间的长度(以秒计)。Remember me的cookie将在将被视为认证合法,并且也将用于设置cookie的过期时间。 |
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。