单点登录认证方案思路,求好思路回复

许仙来了      2022-02-08     523

关键词:

统一用户认证方案思路

实现目标:

1.实现单点登录,使用单点登录帐号登录后,可访问多个被授权的系统。

2.尽量不让用户进行客户端安装,有些技术如CAS,SAML,P3P欢迎点评

  免登录访问方式可能存在:
  1、当前系统界面连接其他系统的界面,(场景:多系统集成一个系统)
  2、当前系统访问其他系统的有验证的服务接口, (场景: 访问被授权的系统的服务)
  3、在新的浏览器标签页直接打开其他系统的页面 。(场景: 进入其他系统免登录)

2.增强安全验证性,采用 cookie,token,session,和安全令牌securityCard形式

  1、cookie记录了用户的登录信息token,
  2、session可获得访问者的IP,
  3、安全令牌用于记录单点登录用户访问的唯一凭证.
  4、敏感信息(金钱,核心内容)或者防恶意请求(如盗号)可考虑动态密码和访问频率来控制(未来有需要时)

3.增强用户体验性

  1.已登录的个人资料编辑,增加上传头像
  2.用户管理,分组管理,角色管理,权限管理界面交互修改更友好
  3.用户直接访问某系统子页面时,如果未登录则弹出登录,登录后重定向到指定子页面。
  4.对于一些特殊的http请求错误给予友好error.html提示,如404.500,302等.

存在问题:
  1.多个系统可能有多套自身用户管理,另外有可能第三方系统有可能接入;
  2.多个系统可能共用一套用户管理;
  3.单点登录用户和各系统之间的关系如何。


解决方案:

  1.针对问题1: 设立uum认证中心; 
     提供应用系统单点登录角色配置的注册,更新,和注销等接口(即应用系统加入认证中心的操作);
     提供应用系统之间授权的添加,更改,删除等接口;
     提供所有注册系统的注册信息的查询接口;
     提供在线单点登录用户的查询,退出,登录等;
     对接口的信息中有必要包含授权期限等。

  2.针对问题2:
    优化应用系统的用户管理模块,支持区分存储不同域名的权限;
    将统一的用户管理角色注册到uum认证中心,并对个系统相互授权;
    建议将统一的用户管理界面开放给某个系统的用户进行统一操作。


  3.针对问题3:
    应用系统有自身的用户管理体系,如果想加入单点登录群组,需要建立如下规则:   
    应用系统向认证中心发起请求的元单位为角色,即单独登录的用户需要在认证中心里判别角色;
    需要设立单点登录的角色,然后将自身系统的角色与其匹配;
    应用系统用户管理中可以将单点登录角色授权给其他系统,也可查看被其他系统授权的信息;
    认证中心只管角色,可对加入的应用系统进行注册信息统一管理(另行处理) ,但是角色的访问权限由各个系统复制管理。



   4.单独登录配置:
      1.应用系统提交xml格式注册到uum认证中心,包括信息:系统ID,角色名称(可多个),到期时间等,并可修改。
      2.应用系统可将单点登录角色赋给其他系统对应的角色,可为一对多,包括到期时间等必要的信息。
      3.认证中心可对应用系统提交的部分信息进行一些甑别和修改。

   5.单点登录访问步骤:


      1.用户访问A系统,输入用户名,密码;

      2.A系统登录成功,
        发现是该用户角色为单点登录角色,
        重定向uum认证中心登录界面,并传送参数以及A系统回调路径,
        uum认证解析参数,检查角色是否过期,生成安全令牌,再重定向回应用系统;
         此时产生了应用系统和认证中心两个系统的连接。

      3.用户访问B系统主页,B系统发现没有在自己服务器上登录,
        重定向uum认证中心登录界面,并传送参数以及B系统回调路径,
        uum认证发现已经登录,返回用户角色相应信息以及安全令牌重定向给B系统,
        B系统登录成功。


   6.安全验证:



sso单点登录

SSO单点登录通用类(可跨域)目的  目的很明确,就是搭建单点登录的帮助类,并且是一贯的极简风格(调用方法保持5行以内)。 并且与其他类库,关联性降低。所以,不使用WebAPI或者WebService等。 思路 因为... 查看详情

jeesz分布式框架单点登录集成方案

第一节:单点登录简介第一步:了解单点登录SSO主要特点是:SSO应用之间使用Web协议(如HTTPS),并且只有一个登录入口.SSO的体系中有下面三种角色:1)User(多个)2)Web应用(多个)3)SSO认证中心(一个) SSO实现包含以下三个原则:1)所有的... 查看详情

jeesz分布式框架--单点登录集成方案

 JEESZ分布式框架单点登录集成方案第一节:单点登录简介第一步:了解单点登录SSO主要特点是:SSO应用之间使用Web协议(如HTTPS),并且只有一个登录入口.SSO的体系中有下面三种角色:1)User(多个)2)Web应用(多个)3)SSO认证中心(一个)SS... 查看详情

jeesz分布式框架--单点登录集成方案

 JEESZ分布式框架单点登录集成方案第一节:单点登录简介第一步:了解单点登录SSO主要特点是:SSO应用之间使用Web协议(如HTTPS),并且只有一个登录入口.SSO的体系中有下面三种角色:1)User(多个)2)Web应用(多个)3)SSO认证中心(一个)SS... 查看详情

jeesz分布式框架--单点登录集成方案

JEESZ分布式框架单点登录集成方案第一节:单点登录简介第一步:了解单点登录SSO主要特点是:SSO应用之间使用Web协议(如HTTPS),并且只有一个登录入口.SSO的体系中有下面三种角色:1)User(多个)2)Web应用(多个)3)SSO认证中心(一个)SSO实... 查看详情

jeesz分布式框架--单点登录集成方案

JEESZ分布式框架单点登录集成方案第一节:单点登录简介第一步:了解单点登录SSO主要特点是:SSO应用之间使用Web协议(如HTTPS),并且只有一个登录入口.SSO的体系中有下面三种角色:1)User(多个)2)Web应用(多个)3)SSO认证中心(一个)SSO实... 查看详情

基于人脸识别的登陆认证方案及思路

...认证在服务器端还是在客户端这个问题的整体思路:初期登录认证在服务器端运行,在必须联网才能使用客户端的场景使用,同时进行手机客户端做人脸识别的预研工作。手机客户端的人脸识别技术成熟后,再将登陆认证能力以... 查看详情

jeesz分布式框架--单点登录集成方案

摘要:第一节:单点登录简介第一步:了解单点登录SSO主要特点是:SSO应用之间使用Web协议(如HTTPS),并且只有一个登录入口.SSO的体系中有下面三种角色:1)User(多个)2)Web应用(多个)3)SSO认证中心(一个)SSO实现包含以下三个原则:1)所有的... 查看详情

spring+springcloud+sso单点登录应用认证

...ng+jwt+redis的解决方案,不同系统的无缝隙集成,统一的sso单点登录界面的管理、每个应用集成的权限认证,白名单等都是我们需要考虑的,现在针对于以上的问题我们做了sso单点登录应用认证平台,设计如下:1.数据库设计:Java... 查看详情

spring+springcloud+sso单点登录应用认证

...ng+jwt+redis的解决方案,不同系统的无缝隙集成,统一的sso单点登录界面的管理、每个应用集成的权限认证,白名单等都是我们需要考虑的,现在针对于以上的问题我们做了sso单点登录应用认证平台,设计如下:愿意了解源码的朋... 查看详情

django单点登录思路-装饰器(代码片段)

defthe_one(func):‘‘‘自定义验唯一证在线装饰器‘‘‘defcheck_login_status(request):ifrequest.session.get(‘qq‘,None):try:hert=request.session.get(‘hert‘,None)data=models.Users.objects.filter(qq=request.session.get(‘qq‘,None)).values(‘business_card‘).first()ifstr(her... 查看详情

sso单点登录的原理详解,及shiro同时支持session和jwttoken两种认证方式,和session和jwt整合方案

1.   单点登录是什么?单点登录全称SingleSignOn(以下简称SSO),是指在多系统应用群中登录一个系统,便可在其他所有系统中得到授权而无需再次登录,包括单点登录与单点注销两部分。 2.   单点登录... 查看详情

统一身份认证和单点登录概念研究

...位信息系统的集成和登录时,自然想到了统一身份认证和单点登录,首先遇到了这样的问题,统一身份认证和单点登录的概念是什么,是不是某一个领域的术语,是不是有相应的标准和协议以及相关的解决方案,这让我对这两个... 查看详情

开源sso单点登录认证系统(代码片段)

👇👇关注后回复 “进群” ,拉你进程序员交流群👇👇开源最前线(ID:OpenSourceTop)猿妹整编链接:https://github.com/authelia/authelia相信大家都对登录系统不陌生,今天,猿妹就和大家介... 查看详情

单点登录oauth2.0认证

1 什么是单点登陆单点登录(SingleSignOn),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。较大的企业内部,一般... 查看详情

jeesz分布式框架--单点登录集成方案

摘要:第一步:了解单点登录SSO主要特点是:SSO应用之间使用Web协议(如HTTPS),并且只有一个登录入口.SSO的体系中有下面三种角色:1)User(多个)2)Web应用(多个)3)SSO认证中心(一个) JEESZ分布式框架单点登录集成方案第一节:单点登录... 查看详情

cas搭建单点登录rest认证-app端接入方案

参考技术A   <!--restful-->      <dependency>          <groupId>org.apereo.cas</groupId>          <artifactId>cas-server-s... 查看详情

基于shiro的登录功能设计思路

认证流程Shiro的认证流程可以看作是个“有窗户黑盒”,整个流程都有框架控制,对外的入口只有subject.login(token);,这代表“黑盒”流程中的每一个组件,都可以使用SpringIOC容器里的Bean来替换,以实现拓展化、个性化,这代表“... 查看详情