一、分析
說明 | 參數 |
---|---|
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;
}
}
三、測試
測試成功,
四、轉載註明出處
別複製粘貼下,就說自己原創