美文网首页
Spring中级课程第三课

Spring中级课程第三课

作者: 明明找灵气 | 来源:发表于2016-11-22 21:07 被阅读0次

库的下载网址,intellij新建的时候自动从该网址下载。

一. 注册

  1. 用户名合法性检测(长度,敏感词,重复,特殊字符)
  2. 密码长度要求
  3. 密码salt加密(MD5库)
  4. 用户邮件/短信激活

流程:
LoginController参数传递,调用UserService的register方法,其中保证用户名和密码不能为空,还有调用model下,User的按名字选择的方法,用来保证名字不重复。密码的加密,先设置“盐”,再用md5库(方法)加密password+随机生成的盐,然后把它当做密码保存。其中md5方法的实现,有ToutiaoUtil类实现,具体算法可以百度等搜索。此外,这个类还重构了getJONString方法,用于把前面的密码为空等报错信息输出到页面上。JSon的以来写入pom.xml文件,内容由前面的网址搜索得到。

public Map<String,Object> register(String username, String password){    
Map<String,Object> map = new HashMap<String, Object>();
    if(StringUtils.isBlank(username)) {
        map.put("msgname", "用户名不能为空");
        return map;    }
    if(StringUtils.isBlank(password)){
        map.put("msgpwd","密码不能为空");
        return map;
    }
    User user = userDAO.selectByName(username);
    if(user != null){
        map.put("msgname","用户名已经被注册");
        return map;
    }
    user= new User();
    user.setName(username);
    user.setSalt(UUID.randomUUID().toString().substring(0,5));
    user.setHeadUrl(String.format("http://images.nowcoder.com/head/%dt.png", new Random().nextInt(1000)));
    user.setPassword(ToutiaoUtil.MD5(password+user.getSalt()));
    userDAO.addUser(user);

二. 登录

  1. 服务器密码校验/三方校验回调,token登记
    1.1 服务器端token(ticket)关联userid
    1.2 客户端存储token(app存储本地,浏览器存储cookie)
  2. 服务端/客户端token有效期设置(记住登录)
    注:token可以是sessionid,或者是cookie里的一个key。

建立一个loginTicket的表,模型,DAO,可以增加和查询ticket。ticket用于标注登录状态,类似于cookie的作用。

登出
服务端/客户端token删除
session清理

三. 拦截器interceptor
链路回调思想

  1. preHandle登录验证
    判断cookie和其中的ticket,决定是否可以持有用户,记住用户。
  2. 注册拦截器

四. AJAX
AJAX:异步数据交互

  1. 页面不刷新
  2. 体验更好
  3. 传输数据更少
  4. APP/网址通用

相关文章

网友评论

      本文标题:Spring中级课程第三课

      本文链接:https://www.haomeiwen.com/subject/gveppttx.html