Lind.DDD.SSO单点登陆组件的使用(原创)

简介:

一般sso的说明

在Lind.DDD框架里,有对单点登陆的集成,原理就是各个网站去sso网站统一登陆授权,之后在sso网站将登陆的token进行存储,存储方式随你(cache,redis,mongodb,file),之后业务平台在访问资源时,如果这些资源需要用户登陆才能访问,就会去sso网站取token,再根据token去凭证,然后将cookies(由sso域名+token值组成)存储到自己浏览器的cookies里,同时在自己的业务平台也存储的登陆状态,当退出后,将sso上存储的信息清空,其它业务平台登陆状态保持不变,当然我们的token和session都有自己的超时时间,这个可以根据需要去设置。对于业务平台只需要添加统一的Filter即可,在业务平台的登陆功能上,直接调用框架里的登出功能,而sso也只需要实现登陆页面,并调用框架的登陆功能!

大叔sso里各模块的关系

大叔sso的工作流程

  

对于代码,我们在客户端开放一个Filter,用来作授权,它与sso服务器会有几次通讯(几次握手)分别是:

-》从sso取一个token

-》将token存储到本机cookies上

-》通过token去服务器取凭证Credence

-》将Credence存储到业务平台的session上

-》用户在sso授权成功,完成了统一登陆,用户访问这个业务平台,由于凭证存储在session上,所以,本用户处理登陆状态

SSOActionFilter核心代码展示

  View Code

对于sso来说,只需要实现登陆方法即可,代码非常简洁!

   if (isPass)
   {
      return SSOManager.LoginSSO("1","zzl",form["BackUrl"]);
   }

而对于业务平台来说,你完全可以添加一个全局过滤器,或者在需要的控制器上添加SSOActionFilter特性即可,代码依然十分简洁!

 [SSOActionFilter]
  public ActionResult Index()
  {
    return View();
  }

业务平台自己控制登出方法,当然也是调用框架里封装的方法!

   public ActionResult Logout()
   {
      SSOManager.ExitSSO();
      return RedirectToAction("Index");
   }

当前,对于sso这个功能来说,复杂的代码已经封装在了Lind.DDD.SSO模块,我们平台在用于不需要去关注它......

感谢各位对本文章的支持,希望对各位所有帮助!

本文转自博客园张占岭(仓储大叔)的博客,原文链接:Lind.DDD.SSO单点登陆组件的使用(原创),如需转载请自行联系原博主。

目录
相关文章
|
8月前
|
移动开发 安全 前端开发
(流程图 + 代码)带你实现单点登陆SSO(三)
(流程图 + 代码)带你实现单点登陆SSO
|
8月前
|
存储 安全 Java
(流程图 + 代码)带你实现单点登陆SSO(一)
(流程图 + 代码)带你实现单点登陆SSO
(流程图 + 代码)带你实现单点登陆SSO(二)
(流程图 + 代码)带你实现单点登陆SSO
(流程图 + 代码)带你实现单点登陆SSO(二)
|
9月前
|
存储 前端开发 数据安全/隐私保护
十五.SpringCloud+Security+Oauth2实现微服务授权 -前端登录实战
SpringCloud+Security+Oauth2实现微服务授权 -前端登录实战
|
9月前
|
Kubernetes 数据安全/隐私保护 容器
【k8s 系列】k8s 学习二十八,k8s 认证和权限控制
说到 k8s 的认证机制,其实之前咋那么也有提到过 ServiceAccouont ,以及相应的 token ,证书 crt,和基于 HTTP 的认证等等
183 0
|
存储 缓存 NoSQL
通过阅读源码解决项目难题:GToken替换JWT实现SSO单点登录
今天和大家分享一下使用GoFrame的gtoken替换jwt实现sso登录的经验,为了让大家更好的理解会带大家读一下重点的源码。
122 0
通过阅读源码解决项目难题:GToken替换JWT实现SSO单点登录
|
存储 NoSQL 算法
搞懂单点登录SSO,基于SpringBoot+JWT实现单点登录解决方案
单点登录是目前比较流行的企业业务整合的解决方案之一。单点登录是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。例如:百度旗下有很多的产品,比如百度贴吧、百度知道、百度文库等,只要登录百度账号,在任何一个地方都是已登录状态,不需要重新登录。 单点登录是互联网应用和企业级平台中的基础组件服务。接下来就介绍单点登录的原理,并基于SpringBoot +JWT实现单点登录解决方案。
搞懂单点登录SSO,基于SpringBoot+JWT实现单点登录解决方案
|
存储 NoSQL 应用服务中间件
SSO单点登录流程源码学习
单点登录系统无状态应用,通过对SSO单点登录系统验证码、LT存入redis,及补偿service的操作更加深入的了解单点登录系统登录流程
SSO单点登录流程源码学习
|
JSON 前端开发 安全
前后端分离基于Oauth2的SSO单点登录怎样做?
单点登录顾名思义就是在多个应用系统中,只需要登录一次,就可以访问其他相互信任的应用系统,免除多次登录的烦恼;本文主要介绍跨域间的前后端分离项目怎样实现单点登录,并且与非前后端分离的差异在那里?需要解决什么问题?
4243 0
|
Web App开发 测试技术
【自然框架之SSO】实现SSO的一个初步想法
单点登录呀单点登录。最近要做一个单点登录的功能,本来是不熟悉的,但是没办法硬着头皮上吧。好在有网络,有博客园。查找了好多资料,汇总一下得出了一种想法。 基于cookies的一种sso的实现方式。先看图     分为三块,用户的浏览器,网站应用和SSO登录验证。
824 0

热门文章

最新文章