跟我学习SpringSecurity--在线宠物商店开发(四)-创新互联

现在我们来用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";
	  }

我们知道前面登录页面的action请求为j_spring_security_check,因此我们要设置该请求应该跳转到哪里,因此我们需要在dogstore-security.xml添加<form-login  default-target-url="/main.do" />

<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的过期时间。

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。

当前文章:跟我学习SpringSecurity--在线宠物商店开发(四)-创新互联
文章出自:https://www.cdcxhl.com/article40/dehoeo.html

成都网站建设公司_创新互联,为您提供品牌网站设计建站公司手机网站建设网页设计公司软件开发企业网站制作

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都定制网站建设