两个拥有相同顶级域名的网站:
a: www.lb.xxxx (主网站)
b: game.lb.xxxx (需要共享登陆信息网站)
需要实现:登陆a网站,跳转b网站的时候,免登陆。同时保留b网站原有的登陆入口。
大致思路:
1,设置加密字段,存储用户主键、签名信息。
2,修改a网站登陆逻辑,增加登陆成功,回写加密字段到cookie。
3,修改b网站登陆逻辑,增加获取cookie自动登陆功能。
加密字段主要有3部分:
1,当前系统时间秒数,用于判断是否过期。
2,用户主键,用来获取用户信息。
3,签名信息,md5加密(当前时间+用户主键+密钥)生成签名信息,用于判断加密字段的合法性。
1 | ticket = System.currentTimeMillis() / 1000 + userid + EncryptUtil.md5encode(System.currentTimeMillis() +userid+salt) |
生成ticket字段
1 | private String _login(HttpServletRequest request, User user) { |
回写ticket到cookie
1 | @ResponseBody |
1 | @RequestMapping(value = { "/public/index", "/" }) |