cwx_xp
cwx_xp
采纳率100%
2015-11-27 03:06 阅读 1.9k
已采纳

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

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

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

1条回答 默认 最新

  • 已采纳
    shilvfa shilvfa 2015-11-27 08:27

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

    点赞 评论 复制链接分享

相关推荐