开发者社区> 问答> 正文

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

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

展开
收起
蛮大人123 2016-03-23 14:17:29 2305 0
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪

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

    2019-07-17 19:10:58
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
安全机制与User账户身份验证实战 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载