学成在线常见问题的笔记记录

1.Lombok插件的使用:第1天5.2.3节
2.Spring Data mongodb中自定义的Dao的使用第一天6.2.3.4
3.前端页面跳转和带着数据返回和表单的校验:第3天2.3节
4.全局的自定义异常处理。第3天5节。
5.使用RestTemplate远程调用接口。第4天3.2.3节
6.GridFs的相关介绍 。第4天3.3.3节。
7.Swagger的使用 第1天7节。
8.proxyTable跨越问题的解决。第2天3.3节。
9.使用fastDFS上传图片和前端。第8天1,2节。
10.promise的异步调用,删除图片的前端问题,第8天5.1.4.3.1节
11.课程页面静态化和预览技术方案:第9天3节。
12.webpack前端工具的使用:第2天CMS讲义下的第1.3节.
13。elasticsearch的原理和使用:第10天下的elasticsearch讲义下。
14.Logstach对于索引的维护。第11天3.4节。第15天2.2节
15.断点续传文件。 第13天6.3节。
16.java中使用ProcessBuilder类调用外部可执行程序:第14天1.2.2节。
17.视频转换MP4,m3u8:第14天1.2.3.4节。
18.RabbitMQ的应用并发处理:第14天1.3节。
19.前端vue父子组件的通信:第14天3.3.节。
20.资源微服务添加授权控制:第18天。2.3节。
21.捕获程序抛出的异常,然后自定义异常:第18天2.4节。区别于第4个
22.权限数据模型。第18天 3.2节。
23.前端集成认证授权。第18天4节。
24.微服务之间的认证授权,第18天4节。
25.spring Task定时任务。第19天3节
26.对于DevOps相关工具的配置使用:第20天。

20.对于JWT对于密码验证:
首先JWT中的身份token存储在cookie中的,JWT存储在redis中。在调用是否登录的时候:首先从cookie中取出身份token,然后在根据身份token,在查询redis中的JWT。
其中:

//将令牌存储到cookie
    private void saveCookie(String token){
        //RequestContextHolder顾名思义,持有上下文的Request容器
         HttpServletResponse response = ((ServletRequestAttributes)RequestContextHolder.getRequestAttributes()).getResponse();
   其中注意:删除cookie,只需要把下面的cookieMaxAge改成0,即可,其他全部不变。
       CookieUtil.addCookie(response,cookieDomain,"/","uid",token,cookieMaxAge,false);
    }

另外一种得到request和response的方法

 RequestContext requestContext = RequestContext.getCurrentContext();
        //得到request
        HttpServletRequest request = requestContext.getRequest();
        //得到response
        HttpServletResponse response = requestContext.getResponse();

对于redis中的存储判断,如果expire=-2,则表示存储失败,是正值的话表示存储成功。

 /**
     * 存储令牌
     * @param access_token 用户身份令牌
     * @param content  内容就是AuthToken对象的内容
     * @param ttl 过期时间:如果取出过期时间小于0,则表示没有存储成功。
     * @return
     */
    private boolean saveToken(String access_token,String content,long ttl){
        String key = "user_token:"+access_token;
        stringRedisTemplate.boundValueOps(access_token).set(content,ttl, TimeUnit.SECONDS);
        Long expire = stringRedisTemplate.getExpire(key, TimeUnit.SECONDS);
        return expire>0;
    }

你可能感兴趣的:(学成在线)