某公司自己有一个系统A,又购买了我们的系统B,用户想要2个系统的登陆都在他们A系统
登陆,比如B系统的登陆界面是longin.jsp,现在的需求是如果进入B系统那么自动跳到A系统
然后登陆以后转到B系统就是所谓的单点登陆了吧?求有做过的支支招。
还有一点就是 客户是这样的形势,但是我们公司开发自己的系统还是原来的登陆界面。
后台session什么的方法其实都有了,主要想要得到一个思路。
跳转的时候就跳到A或B的登录验证处,把用户名和密码传过去登录成功就立刻跳转到主页
因为第一次做 希望大家 讲的详细点。
如果采用二级域名的形式的话,可以了解下cookie通过设置根域名来实现跨域,存储相应的验证方式(加密字段,登录状态,用户关键ID等),两边系统都可以获取到信息,验证通过就写入相应的登录状态
使用 token 来做登录验证
1、改造A系统的登录入口,获取网站来源getHeader("referer"),也就是把B的入口url作为参数验证是否源自B系统,验证通过后,带返回的Token转回B;
2、B可采用A传递来的Token访问
A系统登录的时候生成一个随机字符串把字符串和用户的信息都存放到redis中,将随机的字符串保存到cookie中。B系统添加一个拦截器,拦截内容:在cookie找到那个随机的字符串,通过这个字符串查询redis中是否有缓存,如果有跳转到B系统的主页面,如果没有跳转到A系统的登录页面
建议你使用CAS单点登录框架的sso,或者shiro的sso,自己造轮子考虑的可能没有那么全面。