美文网首页
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