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

统一用户认证方案思路

实现目标:

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.安全验证:

时间: 2024-08-06 19:21:27

单点登录认证方案思路,求好思路回复的相关文章

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

  JEESZ分布式框架单点登录集成方案第一节:单点登录简介 第一步:了解单点登录SSO主要特点是: SSO应用之间使用Web协议(如HTTPS) ,并且只有一个登录入口.SSO的体系中有下面三种角色:1) User(多个)2) Web应用(多个)3) SSO认证中心(一个) SSO实现包含以下三个原则:1) 所有的登录都在 SSO 认证中心进行.  2) SSO认证中心通过一些方法来告诉Web应用当前访问用户究竟是不是通过认证的用户.  3) SSO认证中心和所有的 Web 应用建立一种信任关

单点登录实现方案

单点登陆实现方案设计 整体流程: 设计思路: 单点登录涉及?sso?认证中心与众子系统,子系统与?sso?认证中心需要通信以交换令牌.校验令牌及发起注销请求,因而子系统必须集成?sso?的客户端,sso?认证中心则是?sso?服务端,整个单点登录过程实质是?sso?客户端与服务端通信的过程,可用下部署图描述: sso?认证中心与?sso?客户端通信方式有多种,HttpClient,WebService.rpc.restful api?都可以,考虑各系统采用B/S架构,这里我们应用普遍的httpC

基于CAS实现单点登录(SSO):CAS+LDAP实现单点登录认证

[一].概述 CAS是N个系统的中心认证入口,而贯穿多个系统的用户信息是共用的,应该被单独维护,而这些信息可能属于不用的系统,不用的组织,不用的国家,从而形成了树形结构,而使用关系型数据库维护树形结构信息是它的弱点,这就是本文CAS和LDAP整合的初衷. 本来主要详细是介绍CAS和LDAP整合实现单点登录的步骤. [二].详细步骤 1.LDAP安装配置 详见: 介绍openLDAP在windows上的安装配置 安装配置,添加部分测试数据如下: 2.CAS的基础安装配置: 见SSO之CAS单点登录

单点登录整合方案

1.    概念 单点登录(Single Sign On , 简称 SSO )是目前比较流行的服务于企业业务整合的解决方案之一, SSO 使得在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统.CAS(Central Authentication Service)是一款不错的针对 Web 应用的单点登录框架. 1.    CAS CAS(Central Authentication Service)是一款不错的针对 Web 应用的单点登录框架. (1.)原理及协议 CAS 包含

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

第一节:单点登录简介 第一步:了解单点登录 SSO主要特点是: SSO应用之间使用Web协议(如HTTPS) ,并且只有一个登录入口. SSO的体系中有下面三种角色: 1) User(多个) 2) Web应用(多个) 3) SSO认证中心(一个) SSO实现包含以下三个原则: 1) 所有的登录都在 SSO 认证中心进行. 2) SSO认证中心通过一些方法来告诉Web应用当前访问用户究竟是不是通过认证的用户. 3) SSO认证中心和所有的 Web 应用建立一种信任关系. CAS的基本原理CAS(C

SSO单点登录实现方案

最近打算做个项目,需要用到单点登录,搜了看了一下资料找到一种单点登录方案,特此记录. 一.实现原理 将登录系统单独摘出来,做成一个登录子系统.请求登陆时候访问这个子系统,当登陆验证通过的时候,生成一个token存入网站顶级域名下的cookie当中.将与这个token对应的用户状态信息存入缓存中去,并设置生存时间,此处缓存使用的是redis.当其他的子系访问必须登录才可访问的资源时候,必须先到登录系统进行验证token的存在性以及是否过期,验证通过才可进行访问. 具体流程:(侵权删除) 二.重要的

单点登录认证流程

一.流程说明 第一步:访问cas过滤链接ssoLogin,拼凑定向到 CAS_SERVER 获取ticket的URL 第二步:CAS_SERVER校验用户信息,生成Ticket 第三步:重新定向到访问客户端的ssoLogin并附加Ticket参数和值 第四步:根据传来的Ticket拼凑定向到CAS_SERVER的连接去校验Ticket的合法性 第五步:CAS_SERVER校验成功后,会返回XML报文并重新定向到访问客户端的ssoLogin 解析该XML报文,构造用户信息对象存储在session中

XSS跨站脚本攻击防御和Cookie,及SSO单点登录原理

XSS又称CSS,全称Cross SiteScript,跨站脚本攻击,是Web程序中常见的漏洞,XSS属于被动式且用于客户端的攻击方式,所以容易被忽略其危害性.其原理是攻击者向有XSS漏洞的网站中输入(传入)恶意的HTML代码,当其它用户浏览该网站时,这段HTML代码会自动执行,从而达到攻击的目的.如,盗取用户Cookie.破坏页面结构.重定向到其它网站等. XSS攻击 XSS攻击类似于SQL注入攻击,攻击之前,我们先找到一个存在XSS漏洞的网站,XSS漏洞分为两种,一种是DOM Based X

十六、【适合中小企业的.Net轻量级开源框架】EnterpriseFrameWork框架核心类库之单点登录SSO

回<[开源]EnterpriseFrameWork框架系列文章索引> EFW框架源代码下载:http://pan.baidu.com/s/1qWJjo3U 单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一.SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统. 如上图,当用户第一次访问应用系统1的时候,因为还没有登录,会被引导到认证系统中进行登录:根据用户提供的登录信息,认证系统进行身份校验,如果通过校验,应该返