当前位置: 代码迷 >> Java Web开发 >> java 系统单点登录解决方案
  详细解决方案

java 系统单点登录解决方案

热度:12264   发布时间:2013-02-25 21:05:16.0
java 系统单点登录
前提条件:
      1.有三个系统    A .    B.    C.
     2.三个系统中都有部门表、用户表、角色表、权限
     要求:
       1. 在任何一个系统登录就可以在其他系统自由切换不用重新登录。
       2. 在指定的一个系统中对 其他系统进行部门、角色、用户、权限进行操作。


各位大拿有什么好的想法以及思路没?想的头都大了。。。。
楼上几个都纯扯淡,
看下图什么是SSO!

看不懂就别谈SSO,那种山寨的SSO也好说是SSO。。。。可笑。你打算怎么处理用户名重复的问题?
我个人想到的就这样:
做一个主系统统一控制登录,当然你还是可以保留子系统单独的登录方式
你的三个子系统的用户数据,比如说用户名全部加上特定的前缀转移到主系统。

权限控制也统一先给主系统过滤一次,然后再判定改权限是否需要子系统再次认证。

登录的时候,主系统可以用子系统的接口,先认证一次,如果子系统不存在此用户,则返回给主系统一个UUID。并且存在session里面。然后主系统再检查此用户是否存在主系统里面,如果存在,就通知子系统让它保留session里面的UUID,并且发送权限字符集,用户信息等数据到子系统,如果不存在就删除。每次主系统过滤请求完成后,子系统(假设该用户在子系统不存在)再根据UUID和权限字符集过滤。
  相关解决方案