cwx_xp 2015-11-27 03:06 采纳率: 100%
浏览 1898
已采纳

关于CAS单点登录的用户认证

现有多个系统web1,web2,web3...
用户张三,在web1里用户名密码是user1/123,在web2里用户名密码是zhangsan/456,在web3里用户名密码是abc/789……
这些多个系统的用户名密码存放在不同数据库中,但是每个数据库里都有“工号”这个字段,且为必填项。
现在将这多个系统用CAS做单点登录,这多个数据库如何通过“工号”这个字段统一?
刚看到的一个思路:
单对多模式;一个用户使用不同凭证登录不同系统;| 给sina一个凭证,sina用户就可以登录本系统了;| 然后基于传递过来的用户信息,创建一个本系统用户,保存相应凭证;下次就可以再次直接使用了;
这个具体怎么实现?

  • 写回答

1条回答

  • shilvfa 2015-11-27 08:27
    关注

    1.首先你要实现一个过滤器,功能是检测登录状态,这个过滤器最好打成jar包,然后你所有受信任的项目都要导入这个过滤器,
    2.过滤器的内容是:检查登录状态,若已经登录则直接跳转到请求画面,没有登录则调到cas认证中心进行认证。
    3.何为cas认证中心:你需要利用Cookie映射token(密匙)的方式在内存中存储登录状态的信息
    4.cas认证中心为一个独立的项目,它能够认证不同项目的登录请求,即不管是哪个项目的账户登录,登陆成功,生成token,返回Cookie,

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料