SSO单点登陆

最近项目做一个统一portal,各个应用模块统一入口,人员账号统一。 单点登陆时序图

应用A

应用B

在日常调试过程中遇到的跨域问题: 1、项目中支持跨域请求

  • 使用@CrossOrigin注解 @CrossOrigin(origins = {"http://domain1.com", "http://domain2.com"})

当发生跨域请求时,浏览器会发起两次请求,第一次为预检请求,其请求方法为OPTIONS,第二次为真实请求。只有当第一次请求成功后才会发起第二次请求。这个时间间隔是上面例子中配置的maxAge(long)。

所以在拦截器或者过滤器对token进行验证的时候处理,OPTIONS的请求是不会带有认证信息,所以需要跳过OPTIONS请求。

String method = request.getMethod();
if(method.equals("OPTIONS")){
  // 放行
} else {
  // 验证token
}

2、请求之间Cookie传递

  • 不同域名之间Cookie不能传递
  • 域名和ip之间Cookie不能传递
  • 同一IP,不同端口Cookie是共享的
  • 二级域名与二级域名之间Cookie传递,需要将Cookie域设置在顶级域名下

结合Nginx和本地hosts大多数单点登陆的场景都能覆盖测试

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 多线程之线程安全

       线程是越多越好吗?答案否,线程太多的话,会造成CPU频繁的切换反而会造成很多线程处于等待状态。除了浪费资源和效率之外,多线程带来的其他风险:安全、死锁等 ...

    OPice
  • Mac 安装nginx

    相关问题处理 查看端口占用: lsof -i: 端口 kill -9 PID

    OPice
  • Redis相关命令

    OPice
  • GET/POST接收或发送数据的问题

    SpringCloud实战视频下载 在文章开始,先来回忆一下GET、POST这两种请求方式的区别。 Http定义了与服务器交互的不同方法,最基本的方法有4种,分...

    企鹅号小编
  • 老生常谈GET和POST,以备常查

    ------------------- GET 和 POST 请求的区别 // --TCP/IP 协议详解卷3 13.3.1 报文类型:请求与响应 HTTP ...

    小端
  • Chat预告:如何用 Python 爬取网页制作电子书

    孙亖
  • 用DM语句设置SAS环境

    SAS程序猿/媛在跑程序之前通常要进行一些设置,比如清除日志和输入窗口等;在程序跑完之后,又需要检查数据集的结果,比如查看某一特定的行或者特定的变量的值是否正确...

    专业余码农
  • 震惊!线上四台机器同一时间全部 OOM,到底发生了什么?

    昨天晚上突然短信收到 APM (即 Application Performance Management 的简称,我们内部自己搭建了这样一套系统来对应用的性能、...

    kunge
  • Go 语言 Web 编程系列(十三)—— 获取用户请求数据(上)

    在 PHP 中,可以直接通过全局变量 $_GET 和 $_POST 快速获取 GET/POST 请求数据,GET 请求数据主要是 URL 查询字符串中包含的参数...

    学院君
  • 看我如何发现苹果公司官网Apple.com的无限制文件上传漏洞

    最后,我也因此测试漏洞收获了苹果官方不菲的赏金,以及漏洞名人堂的入榜致谢。好吧,我们一起来看看这个苹果官网的无限制文件上传漏洞。

    FB客服

扫码关注云+社区

领取腾讯云代金券