发表于: 2016-09-26 10:03:23
4 2119
憋了一天,终于将任务5完成,并适当扩展了模块和功能。过程如下。
持续更新中(目测中午前完成)……
已全部更新在下一篇日报。
【要求】
任务基本要求如下,在此基础上进行扩展,详见实现功能。
1. 利用MD5对用户ID和登录时间加密,生成Token,放入Cookie中。
2. 拦截器里通过判断Cookie中Token的有效性来判断用户是否登录。
3. 修改Task4中的两个页面,一个设为用户不登录可以访问,一个设为用户必须登录才可以访问。要求用户必须登录才能访问的url统一增加前缀 /u/。
【实现功能】
1. 注册Register模块
将URL中输入“localhost:8080/register”,进入注册页面。
输入账号和密码后,首先判断注册用户是否合法:如果允许注册,将新用户添加到数据库(密码加密),并跳转到注册成功页面,并提示用户注册成功;如果不允许(用户名不合规或用户已存在),则跳转到错误提示页面,附上超链接使用户重新跳转到注册页面。
2. 登录Login / 登出Quit模块
a. 登录Login
URL中输入“localhost:8080/login”,进入登录页面。
此处进行相应扩展,URL中“localhost:8080/home”进入不登录即可访问的主页,点击右上“登录”按钮同样可进入登录页面。
输入账号和密码后,首先验证登录用户信息:若验证成功,直接跳转到登录后主页(u/home),同时添加Cookie(id+登录时间);如果验证未成功,跳转到错误提示页面,附上超链接使用户重新跳转到登录页面。
此处进行相应扩展,在登录时添加选择是否“十天内记住登录状态”的功能:如果选择“是”,Cookie有效期自动设为10天,方便用户下次登录时将帐密直接显示在输入框,不必再自己进行输入;如果选择“否”,Cookie有效期设为0。
b. 登出Quit
当用户成功登录后,主页右上角除了显示用户登录信息之外,还会有登出按钮,单击“登出”,即完成退出登录,Cookie自动删除。下次再进入“localhost/u/home”当然要重新登录。
3. 主页未登录拦截功能
即URL中输入“localhost:8080/home”进入不添加拦截功能的主页,不登录即可访问;URL中输入“localhost:8080/u/home”进入添加拦截功能的主页,必须登录才可访问,并在右上角提示登录用户信息。
如果未登录而直接进入“localhost:8080/u/home”,进行拦截,跳转到登录页面。
评论