SSO(转)
一、介绍
主站下有多个子系统,每次登录主系统,跳转到子系统时,又需要重新登录;
子系统与主系统都有各自的用户信息表;各个系统的用户角色、权限也各不相同;
二、目的
每次登录主系统,跳转到子系统后,不用再重新输入用户名、密码,进行登录;也就是“单点登录”;
三、主要思路
(1)跨子域共享cookie(主站:www.A.com 子站:test.A.com →设置cookie的Domain=“.A.com” 就可以实现cookie共享)
(2)分布式session(暂未涉及,下班研究下~~)
四、具体实现
思路一(跨子域共享cookie):在任意一个系统登录成功后,将用户名保存到cookie中;当用户进入其他系统时,首先判断cookie中的用户名是否为空;如果为空,则跳转到当前系统的登录页面;不为空则根据用户名,查询出当前系统的用户信息,实现自动登录;
思路二(分布式session):创建单独的用户信息数据库,统一的登录入口;在任意一个系统登录成功后,将用户的详细信息存储到session中;当用户进去其他系统时,首先判断session中的用户信息是否为空;如果为空,则跳转到登录页面,登录成功后再返回当前页面;如果不为空则显示当前页面内容;
----用户信息数据库表结构:系统分类表、用户基本信息表、角色类型表、权限表、用户角色表
->系统分类表:系统编号、系统名称
->用户基本信息表:用户的基本字段~~
->角色类型表:角色编号、角色名称、所属系统编号
->权限表:用户编号、系统编号、权限值
->用户角色表:用户编号、所属角色编号
当用户再任一系统登录时,可以根据用户名、密码、系统编号得到当前用户的基本信息以及当前系统的角色、权限信息等
用分布式session服务器,所有主系统 子系统都去特定的session服务查找判断
我用的也是第二种方案,更灵活一点。
SSO只做密码验证,其它权限还是由子系统分别设置。
SSO(转)的更多相关文章
- 著名ERP厂商的SSO单点登录解决方案介绍一
SSO英文全称Single Sign On,单点登录.SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统.它包括可以将这次主要的登录映射到其他应用中用于同一个用户 ...
- 细说SSO单点登录
什么是SSO? 如果你已知道,请略过本节! SSO核心意义就一句话:一处登录,处处登录:一处注销,处处注销.即:在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统. 很多人容易把SS ...
- CAS FOR WINDOW ACTIVE DIRECTORY SSO单点登录
一.CAS是什么? CAS(Central Authentication Service)是 Yale 大学发起的一个企业级的.开源的项目,旨在为 Web 应用系统提供一种可靠的单点登录解决方法(支持 ...
- Lind.DDD.SSO单点登陆组件的使用(原创)
回到目录 一般sso的说明 在Lind.DDD框架里,有对单点登陆的集成,原理就是各个网站去sso网站统一登陆授权,之后在sso网站将登陆的token进行存储,存储方式随你(cache,redis,m ...
- 可跨域的单点登录(SSO)实现方案【附.net代码】
SSO简介 定义: 传统的单站点登录访问授权机制是:登录成功后将用户信息保存在session中,sessionId保存在cookie中,每次访问需要登录访问的资源(url)时判断当前session是否 ...
- 偷懒小工具 - SSO单点登录通用类(可跨域)
写在前面的话 上次发布过一篇同样标题的文章.但是因为跨域方面做得不太理想.我进行了修改,并重新分享给大家. 如果这篇文章对您有所帮助,请您点击一下推荐.以便有动力分享出更多的"偷懒小工具&q ...
- 【Java EE 学习 68】【单点登录】【两种单点登录类型:SSO/CAS、相同一级域名的SSO】
单点登录:SSO(Single Sign On) 什么是单点登录:大白话就是多个网站共享一个用户名和密码的技术,对于普通用户来说,只需要登录其中任意一个网站,登录其他网站的时候就能够自动登陆,不需要再 ...
- MachineKey 操作 之 应用集群中SSO应用生成MachineKey
MachineKey介绍 MachineKey其用于对 Forms 身份验证 Cookie 数据和视图状态数据进行加密和解密,一般情况下IIS自动默认给网站或者每一个应用生成唯一的MachineKey ...
- ASP.NET MVC SSO单点登录设计与实现
实验环境配置 HOST文件配置如下: 127.0.0.1 app.com127.0.0.1 sso.com IIS配置如下: 应用程序池采用.Net Framework 4.0 注意IIS绑定的域名, ...
- C#.NET 大型企业信息化系统 - 防黑客攻击 - SSO系统加固优化经验分享
好久没写文章了,突然间也不知道写什么好了一样,好多人可能以为我死了,写个文章分享一下.证明一下自己还在,很好的活着吧,刷个存在感. 放弃了很多娱乐.休闲.旅游.写文章.看书.陪伴家人,静心默默的用了接 ...
随机推荐
- VBA实现随意输入组合码,查询唯一标识码
记录背景: 需要在excel中查询出组合码,对应的唯一标识码. 举例 组合码:4+5+6+9+1*2 标识码:A1 界面随意输入组合码:1*2+4+5+6+9 输出标识码:A1 VBA实现: P ...
- 安装oracle 12c遇到问题
安装前步骤:更改用户账户控制设置:从不通知 出现 "SEVERE: [FATAL] [INS-30014] 无法检查指定的位置是否位于 CFS 上" 解决办法:重新设置hosts ...
- Sytem 表空间很大
SYSTEM表空间使用率达到了99%, 经查出,是审计表AUD$占用绝大部分的空间. -- 占用表空间system对象大小排名 SELECT * MB FROM DBA_SEGMENTS WHERE ...
- 安装ipython notebook
从http://cs231n.github.io/assignments2016/assignment1/开始说起,因为要学习cs231n课程,需要安装ipython notebook,原本电脑中安装 ...
- 二叉搜索的各种bugs——重复递增序列
int binary_search(int* A, int value, int p, int r); int main(int argc, char *argv[]){ , , , , , , , ...
- elementary os进入GUI桌面环境失败
问题描述:电脑上安装了elementary os,重启后系统很顺利的到达了Login图形界面,在选定用户并键入正确的密码后,电脑黑屏了一至两秒钟后又回到的Login界面,一开始以为是密码输入错误了,就 ...
- [java学习笔记]JDK的安装和环境变量的配置
1.JDK的下载和安装 jdk(java development kit)是java提供给我们的一套java开发工具,它必运行在JVM(java虚拟机)上,java语言的跨平台性就是利用java运行在 ...
- iOS 构造方法
构造方法:用于在对象创建出来的时候为对象的成员变量或者属性赋值 1.构造方法就是初始化对象的方法,它属于对象方法.构造方法分为系统自带和自定义构造方法. 如何创建自定义构造方法: 属于对象方法那么以 ...
- 【转】Ubuntu编译安装mysql源码
主要参考了下面两篇文章 http://forum.ubuntu.org.cn/viewtopic.php?t=330121 http://www.linuxidc.com/Linux/2011-09/ ...
- C#生成二维码名片
摘自<31天学会CRM项目开发<C#编程入门级项目实战>> 本例将使用ThoughtWorks.QRCode类库生成二维码名片.正式编码前,先了解一下什么是vCard?它是一种 ...