NETJava能够实现SSO单点登录吗?
首先可以明确的告诉你,任何一门开发语言都可以实现SSO单点登录机制!
什么是SSO单点登录?SSO是英文Single Sign On的简写,中文翻译就是单点登录。单点登录是为了解决什么问题而生的呢?在企业信息化建设过程中,业务会越来越复杂,所以系统会越来越多(甚至是不同语言开发的系统),这些系统间如果用户认证体系没有统一,那我们就要记住很多密码,另外每个系统都要登录一次,相当麻烦。也就是在这种背景下,SSO机制应运而生。
SSO单点登录的原理SSO会有一个独立的中央认证系统(CAS),其它系统没有登录/注册入口,统一在认证系统处进行登录认证。当用户在认证系统成功认证之后,认证系统会创建授权令牌给各个子系统,各个子系统拿到令牌后进行相关验证后就创建各个系统的会话。
SSO最终还是基于Token+Cookie+Session等技术来实现的,所以说任何一款开发语言都可以实现SSO单点登录。
不同场景下的SSO单点登录实现方案SSO单点登录听上去很简单,但在不同业务下它实现的成本也是不同的,比如多个B/S系统会存在以下场景:
1、多个系统部署(主)域名相同
同域名下的多个系统间实现SSO可以采用Cookie共享的方式来完成(因为不涉及跨域),当A系统用户访问CAS认证完成后,在跳转回A系统时写入Cookie,当下次访问B系统时就能获取同域下的Cookie以完成会话跟踪。
2、多个系统部署的域名不同
Cookie是有域限制的,非同源的Cookie互不可见。在这种情况下,A系统在CAS认证完成后,可以采用消息通知的方式(如:批量请求各个子系统的回调URL完成Cookie写入)去通知其它已注册的子系统完成会话状态生成。
以上就是我的观点,对于这个问题大家是怎么看待的呢?欢迎在下方评论区交流 ~ 我是科技领域创作者,十年互联网从业经验,欢迎关注我了解更多科技知识!Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有