iteye_19552 2009-04-14 11:39
浏览 297
已采纳

关于单点登陆的问题

      公司现在三个系统,购买的cms,上面有个会员系统, 单独的blog系统,discuzNT。其中论坛是遗留系统里面有用户信息,cms的会员系统也有遗留的用户信息,blog准备开发,决定弄个开源的算了,是在没时间开发blog。三个数据库,三张user表,想要登陆一次可以进入三个系统,也就是单点登录。大家有好的解决方案么?

我看过了cas,josso,还是有些不明白。

 

      积分只有36,拿出35出来做奖励。^_^

  • 写回答

11条回答 默认 最新

  • Candyut 2009-04-14 12:28
    关注

    如果都是java的系统,可以用yale cas之类的

    如果不是的话,可以根据sso的原理,自己做一个跨语言和平台的简单sso:
    原理如下:
    有A B C D。。。多个应用系统(asp php j2ee asp.net都成,可以使用session和cookie,可以访问网络),实现统一认证方式。实现一个新的web应用AU(也可以利用已有的应用中的验证模块。)

    当用户要访问A应用时,A系统检测session和cookie,没有验证的话,跳转到AU系统的登录界面,同时将要访问的A系统的url作为参数传给AU系统。

    AU系后提供一个注册\登陆的页面,一个对外的接口。
    用户可以在此登陆,登陆后生成一个标识(ticket),跳转到用户之前要访问的应用A的路径,同时将标识作为参数传过去。A应用里通过这个标识,访问AU系统的对外接口,传入唯一标识可以拿到此用户的信息,AU系统清除ticket,应用A存入用户信息到session/cookie中,即用户已经可以使用应用A了,其他过程类似。 如果使用ticket去AU系统拿不到用户信息,说明用户在AU系统登录失败,调整出错或是AU系统重新登陆。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(10条)

报告相同问题?

悬赏问题

  • ¥15 用matlab 设计一个不动点迭代法求解非线性方程组的代码
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler
  • ¥15 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试
  • ¥20 问题请教!vue项目关于Nginx配置nonce安全策略的问题
  • ¥15 教务系统账号被盗号如何追溯设备
  • ¥20 delta降尺度方法,未来数据怎么降尺度
  • ¥15 c# 使用NPOI快速将datatable数据导入excel中指定sheet,要求快速高效