一、分析
说明 | 参数 |
---|---|
URL | http://sso.taotao.com/user/logout/{token} |
参数 | 1、 token //用户登录凭证 2、 callback//jsonp回调方法 |
示例 | http://localhost:8084/user/logout/d2984a73-555f-424c-9fc2-a52a1f81febb |
返回值 | {status: 200 msg: “OK”data: “”} |
二、实现
1、在UserService中定义一个接口
//安全退出
TaotaoResult logOut(String token);
2、在UserServiceImpl中实现这个接口
/**
* 安全退出
* 接收token,根据token,删除该session对应的键
*/
@Override
public TaotaoResult logOut(String token) {
jedisClient.del(REDIS_USER_SESSION_KEY+":"+token);
return TaotaoResult.ok();
}
3、在UserController中添加以下代码
/**
* 安全退出
* @param token
* @param callback
* @return
*/
@RequestMapping("/user/logout/{token}") //看好自己的URL
public Object logOut(@PathVariable String token, String callback) {
TaotaoResult result = null;
try {
result = userService.logOut(token);
} catch (Exception e) {
e.printStackTrace();
result = TaotaoResult.build(500, ExceptionUtil.getStackTrace(e));
}
if (StringUtils.isBlank(callback)) {
return "login"; //退出登录跳转至登录界面
}else {
MappingJacksonValue mappingJackValue = new MappingJacksonValue(result);
mappingJackValue.setJsonpFunction(callback);
return mappingJackValue;
}
}
三、测试
测试成功,
四、转载注明出处
别复制粘贴下,就说自己原创