zoukankan      html  css  js  c++  java
  • 业务流程

    SSO单点登录
    项目中的SSO单点登录的思路:
    1、当用户输入用户名和密码之后,点击提交按钮,将数据传给web服务器;
    2、Web服务器利用RPC方式访问SSO(登录)服务器,对用户传输的信息进行校验;
    3、若校验通过,完成登录操作之后,生成令牌token,创建cookie对象,将信息保存到redis中,key使用UUID,将key存储到cookie中,value使用userJSON,设置超时时间(setex);
    4、sso将服务器数据返回给web服务器(若账号密码有误,直接返回null);
    5、Web服务器将数据的key(UUID)保存到cookie中,配置cookie的存活时间,数据共享的范围,将cookie数据保存到浏览器中,实现cookie共享(即认证登录一个系统后,其他信任的系统不需要登录),下次登录其他页面的时候,通过cookie中的值去查询redis中的value,得到账号密码去登录。
    cookie.setDomain 设置cookie的共享范围。例如配置为jd.com,以jd.com结尾的域名下都可以实现cookie共享。
    Cookie.setPath 设置cookie的访问路径范围,例如设置为 / ,/代表的是根路径
    Cookie.setMaxAge 设置cookie存活时间,当设置为-1时,关闭会话时删除cookie;当设置为0时,立即删除cookie,值比0大时,设定存活时间。
    SSO的退出操作:
    当用户点击退出按钮时,向SSO系统发送一个”logout ”参数的请求(注销请求),拦截器拦截该请求,向sso认证中心发起注销请求;将cookie和redis中的数据删除,并且重定向到系统首页。
    图片上传,格式校验
    上传功能使用的是富文本编辑器,根据富文本编辑器中传递的URL参数,在控制层,业务层编写相关的代码,格式校验涉及文件,图片的格式,校验文件是否为恶意程序(如木马)等,格式校验可以采用正则表达式来校验,也可以采用集合的方式进行校验,项目中用到是集合的方式来进行校验,先创建一个空集合,然后在里面存储允许上传的相关格式,图片格式校验,校验是否有图片的特有属性,例如高度宽度等,动态生成文件存储目录,若目录不存在则创建,为了防止文件重名,可以用UUID自定义文件名称

  • 相关阅读:
    java Future模式的使用
    Objects源码解析
    VUE优秀的组件库总结
    数据库的一致性读,赃读,多线程与赃读,ACID,UNDO
    线程基础,多线程架构,高并发,线程安全基础知识
    程序员必备的开发利器
    spring security 实现登录验证码及记住我
    springboot 集成 spring security 自定义登录
    ELK整合SpringBoot日志收集
    ElasticSearch整合SpringBoot的API操作
  • 原文地址:https://www.cnblogs.com/liangxr/p/13883145.html
Copyright © 2011-2022 走看看