发表于: 2017-12-28 08:01:48

2 621


一、    今天完成的事情

基本完成?

代码地址:https://github.com/hdonghong/codetask/tree/master/task4/tilesdemo

步骤1.使用DES对用户ID和登录时间加密,生成Token,放入Cookie中,拦截器里通过Cookie中判断Token的有效性来判断用户是否登录。

①使用DES

简单了解下DESData Encryption Standard,数据加密标准,是一种对称密钥加密块密码算法,基于使用56位密钥。

这里借助一个叫SercretUtils的工具类进行DES加密(源码中有)

      ②对用户ID和登录时间加密

   这里需要先设计用户表(user)。

   其中login_at指用户登录时间。

   接着就是编写与实现用户业务逻辑层的login方法,在这里进行加密处理。

注意到红框的部分是使用MD5算法加密,MD5是另外一种加密算法,是不可逆的加密。MD5Utils是封装的工具类

③生成Token,放入Cookie中。

首先说下Token,在计算机身份认证中是令牌(临时)的意思,在词法分析中是标记的意思。我是把它理解为一种临时标记。

CookieUtils是我封装的一个用于操作cookie的工具类。

此外,将token放入cookie中之后,也要加处理过的user放入session中,之后通过拦截器进行判断。

④拦截器里通过Cookie中判断Token的有效性来判断用户是否登录

编写LoginInterceptor类作为拦截器,实现HandlerInterceptor接口,重写preHandle方法。

spring-mvc的配置文件中配置拦截器。

注意,红框指代拦截内容,我只拦截了t10.jsp页面的请求,不拦截t11.jsp页面的请求。

步骤2:修改Task4中的两个页面,一个设为用户不登录可以访问,一个设为用户必须登录才可以访问。要求用户必须登录才能访问的url统一增加前缀 /u/

拦截器已在上一步骤配置完毕,这里适当修改页面的html代码。

成果展示:

登录页面:

登录失败:

有拦截页面与无拦截页面:

---------------------------------------------------------------------

3.最后:注册

   二、明天计划的事情

三、    遇到的问题

四、    收获



返回列表 返回列表
评论

    分享到