SSO权限控制设计思路

原创 2016年08月29日 11:24:20

     SSO是一种统一认证和授权机制,指访问同一服务器不同应用中的受保护资源的同一用户,只需要登录一次,即通过一个应用中的安全验证后,再访问其他应用中的受保护资源时,不再需要重新登录验证。

    它主要解决了用户只需要登录一次就可以访问所有相互信任的应用系统,而不用重复登录。

     SSO的设计思路:

      1、产生SSO-Client插件

          称之为插件,则需要其尽量的简单,微小,对需要利用的资源无侵入或者说侵入很小。经过三思以后,LZ决定用Java自身的类型和HttpClient完成插件的认证功能。主要思路:

1)将插件配置到需要管理的web站点,主要是通过filter来完成;LoginFilter只要是登录控制,如果需要接入权限,则还需要配置AuthorityFilter。

2)配置用户基本文件。因为插件要求具有广泛性,比如我想接入自己的用户认证服务,我想跳转到自己的登录页面,还有不同的web服务站点可能要配置自己的首页信息等等,所以反复思考以后,还是觉得通过加入配置properties文件(虽然很不友好)。主要的配置内容有:登录首页url,用户在这里输入用户名和咪咪;登录认证的首页url,验证用户的身份信息,以及对产生ticket和ticket教研;需要跳转的服务首页url;统一错误页url。

3)实现的思路:

        (1)用户请求服务的时候,被LoginFilter拦截到,因为没有身份认证,所以会跳转到登录页面;不过,需要将跳回的url作为参数传过去,因为登录身份系统和服务系统是两个独立的系统,只能通过请求来连接;

(2)登录页完成登录认证后,会生成认证的ticket。因为上面的请求有参数url,所以跳转到服务的url,并带上ticket。

(3)虽然有ticket,但是身份还没有,所以带着ticket,再次请求认证系统;这时候,会通过ticket,传回用户的基本信息,如username,role,privilege等。

(4)SSO会把用户的信息放入到session中,这样再次请求服务的时候,因为有用户信息,就不会再进行身份认证了。

(5)因为请求会带着ticket,请求其他服务的时候,会直接对原有的ticket验证,可能生成新的ticket,新的服务再重复上述认证流程,就能免去第二次登陆。

流程图有:


     2、SSO-Sever

       SSO-Sever就是一个权限管理web系统。用户登录以后,会判断用户登录是否成功,权限是否拥有,然后在把用户信息和ticket写入session或者cookie中。同事,SSO-Sever还会对登录用户进行管理。

版权声明:本文为博主原创文章,未经博主允许不得转载。

关于单点登录、门户、统一权限控制的一些理解

目前在做门户,有很多不明白的地方,经过思考和讨论,大致梳理出了一个基本的思路。...
  • hao7030187
  • hao7030187
  • 2017年04月25日 09:26
  • 4059

单点登录和权限系统结合注入到自己的系统中

最近在弄单点登录和权限管理系统,要求
  • lovesummerforever
  • lovesummerforever
  • 2014年07月16日 10:54
  • 9977

单点登录系统(SSO)+权限管理

  • 2018年01月06日 17:04
  • 7.91MB
  • 下载

web api 单点登录(SSO) 权限验证

本文介绍利用web api实现单点登录,具体原理请看http://www.cnblogs.com/Work-hard/archive/2013/04/10/3011589.html,下面主要介绍相关代...
  • duo002
  • duo002
  • 2014年10月29日 15:31
  • 699

Java单点登录权限系统

Java单点登录权限系统,权限按钮级、修改实时生效、支持分布式
  • a466350665
  • a466350665
  • 2017年01月06日 17:30
  • 14251

单点登录SSO的实现原理

单点登录SSO(Single Sign On)说得简单点就是在一个多系统共存的环境下,用户在一处登录后,就不用在其他系统中登录,也就是用户的一次登录能得到其他所有系统的信任。单点登录在大型网站里使用得...
  • cutesource
  • cutesource
  • 2010年08月25日 21:46
  • 306061

UTrust SSO单点登录系统

1. 系统概述 国内领先的支持C-S和B-S架构的单点登录实现机制UTrust SSO(Single sign-on)系统是针对国内企事业信息化发展现状而开发的应用系统管理软件。面对用户的重复登陆,...
  • cxzhq2002
  • cxzhq2002
  • 2018年01月18日 10:56
  • 10

一站式登录授权系统(单点登录+授权管理)

项目地址https://github.com/minlingchao1/auth-center项目说明auth-center是一个轻量级的权限管理系统。其核心目标是实现公司内部各个系统的权限的集中管理...
  • chao_xun
  • chao_xun
  • 2017年03月19日 23:20
  • 1010

大型电商的SSO设计策略

1 作者:kongqz 1.1 blog:http://blog.csdn.net/kongqz 2 目标 2.1 对于同一域下的所有网站只需登录一次 举例来说: www.baidu.com...
  • kongqz
  • kongqz
  • 2012年08月16日 10:32
  • 4844

编写你自己的单点登录(SSO)服务——sso原理分析

yuwang881@gmail.com    摘要:单点登录(SSO)的技术被越来越广泛地运用到各个领域的软件系统当中。本文从业务的角度分析了单点登录的需求和应用领域;从技术本身的角度分析了单点登录...
  • u013614451
  • u013614451
  • 2015年09月03日 15:24
  • 3952
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SSO权限控制设计思路
举报原因:
原因补充:

(最多只允许输入30个字)