流水账之单点登录
Posted Java入门到放弃
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了流水账之单点登录相关的知识,希望对你有一定的参考价值。
需求:单点登录。访问a.com登录后,再访问b.com,不需要再登录。
实现思路:所有业务系统统一调用登录认证服务,使用同一份身份信息
开工:
先搞个登录认证服务,完成简单的模拟登录功能
@RequestMapping(value = "login",method = RequestMethod.GET)
public String login(){
return "/login";
}
<form action="/login" method="post">
用户名:<input type="text" name="name"/>
密码:<input type="password" name="pwd"/>
<button value="登录" />
</form>
登录页面
@ResponseBody
@RequestMapping(value = "login",method = RequestMethod.POST)
public String loginPost(String name, String pwd, HttpServletResponse response) throws IOException {
if(loginService.login(name,pwd)){
response.addCookie(new Cookie("session","i-am-a-session"));
return "登录成功";
}
return "登录失败";
}
处理登录请求,登录成功的生成一个session,存入cookie,这个cookie属于login站点。
2.登录搞定了,根据这个seesion保持登录状态
@ResponseBody
@RequestMapping(value = "auth",method = RequestMethod.GET)
public String auth(@CookieValue(defaultValue = "")String session) {
if(session.equals("i-am-a-session")){
return "登录过了无需登录";
}
return "没登陆啊,去login登录把";
}
校验是否登录,用两个浏览器结果分别为
3.退出功能,就是把存在服务器端的,该用户的session删掉。暂略
接下来,把伪代码,完善一下。至此,服务端登录功能齐活。
----------------未完待续。
以上是关于流水账之单点登录的主要内容,如果未能解决你的问题,请参考以下文章