我是靠谱客的博主 幽默马里奥,最近开发中收集的这篇文章主要介绍nginx代理应用sso跳转处理场景说明CAS验证原理代码调整,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

nginx代理应用sso跳转处理

  • 场景说明
  • CAS验证原理
  • 代码调整

场景说明

由于用户需要使用https协议访问应用,https协议是由第三方网关进行代理,应用本身是http协议的,但是部门其他地方的用户由于硬件原因,只能通过http进行访问,整体结构如图:
在这里插入图片描述

访问得到的真实结果是:虽然浏览器端使用https协议进行访问,但是在经过sso跳转后,浏览器地址变为了应用的http真实地址,这就是问题所在。在添加网关后,应用ip访问地址对于用户来说应该是感知不到的才对。

CAS验证原理

项目使用的sso是CAS实现
在这里插入图片描述

附上发现的一篇写的不错的CAS原理链接: CAS原理与协议

代码调整

在进行CAS验证过程中,第2步,第5步对于使用代理访问应用是非常重要的,因为会通过url作为参数进行相应的校验,因此需要做如下调整:
1、在第2步重定向到服务端的时候参数中的应用地址需要调整为代理的地址
2、在第5步进行校验的时候,传递的参数也需要对应的改为代理的地址

通过上面2个调整才能做到向用户屏蔽真实应用地址,才能够正常访问到被代理应用。

注意:在调整的过程中,判断是通过代理访问,还是直接访问应用,是很重要的,这影响到怎样设置重定向地址,怎样设置校验的地址参数

在这个案例中,我采用的是通过在url链接加上参数进行解决。
更好的解决办法是代理能够在请求头中添加一个特殊的参数。

最后

以上就是幽默马里奥为你收集整理的nginx代理应用sso跳转处理场景说明CAS验证原理代码调整的全部内容,希望文章能够帮你解决nginx代理应用sso跳转处理场景说明CAS验证原理代码调整所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(83)

评论列表共有 0 条评论

立即
投稿
返回
顶部