...
|
...
|
@@ -43,6 +43,12 @@ public class AnonymousController { |
|
|
@Value("${jwt.max-alive}")
|
|
|
protected Integer jwtMaxAlive;
|
|
|
|
|
|
@Value("${ger.req-url}")
|
|
|
private String requestUrl;
|
|
|
|
|
|
@Value("${ger.res-url}")
|
|
|
private String responseUrl;
|
|
|
|
|
|
@Autowired
|
|
|
RoleService roleService;
|
|
|
|
...
|
...
|
@@ -131,7 +137,7 @@ public class AnonymousController { |
|
|
log.info("票据接受:{}", ticket);
|
|
|
if (!StringUtils.isEmpty(ticket)){
|
|
|
log.info("开始验证票据");
|
|
|
String result = HttpClientUtil.httpGet("http://10.5.14.103:27080/sso/p3/serviceValidate?format=json&service="+"http://10.50.7.70:9909/%23/ssologin"+"&ticket="+ticket, "UTF-8");
|
|
|
String result = HttpClientUtil.httpGet(requestUrl+responseUrl+"&ticket="+ticket, "UTF-8");
|
|
|
log.info("验证票据返回值:{}", result);
|
|
|
Map<String, Object> userInfo = resolveUserInfo(result);
|
|
|
if (userInfo != null){
|
...
|
...
|
@@ -139,23 +145,26 @@ public class AnonymousController { |
|
|
// KakoUser user = kakoUserMapper.findLonginName(userInfo.get("loginName").toString(), userInfo.get("userId").toString());
|
|
|
KakoUser user = kakoUserService.loadByUsername(userInfo.get("loginName").toString());
|
|
|
log.info("查询用户信息:{}", user);
|
|
|
//返回前端登陆成功后的用户信息
|
|
|
KakoUser loginedUser = new KakoUser();
|
|
|
loginedUser.setLoginName(user.getUsername());
|
|
|
loginedUser.setId(user.getId());
|
|
|
loginedUser.setName(user.getName());
|
|
|
loginedUser.setRoles(user.getRoles());
|
|
|
//设置用户的TOKEN的有效时间,时间配置在配置文件中设置
|
|
|
String jwtToken = JwtTokenUtil.generateToken(loginedUser.getUsername(), jwtMaxAlive);
|
|
|
log.info("设置用户token:{}", jwtToken);
|
|
|
loginedUser.setToken(jwtToken);
|
|
|
//这里将登录成功的[user]对象数据写入redis缓存,KEY为token value为user的JSON对象
|
|
|
String json = JSON.toJSONString(user);
|
|
|
boolean set = redisUtils.set(jwtToken, json, 3600 * 24 * 7);
|
|
|
log.info("用户信息存入redis:{}", set);
|
|
|
Map<String,Object> menuMap = permissionService.getUserMenusKako(user.getId());
|
|
|
//返回用户信息和用户可访问的目录列表
|
|
|
return new AuthSuccessResponse(loginedUser,menuMap);
|
|
|
if (user != null){
|
|
|
//返回前端登陆成功后的用户信息
|
|
|
KakoUser loginedUser = new KakoUser();
|
|
|
loginedUser.setLoginName(user.getUsername());
|
|
|
loginedUser.setId(user.getId());
|
|
|
loginedUser.setName(user.getName());
|
|
|
loginedUser.setRoles(user.getRoles());
|
|
|
//设置用户的TOKEN的有效时间,时间配置在配置文件中设置
|
|
|
String jwtToken = JwtTokenUtil.generateToken(loginedUser.getUsername(), jwtMaxAlive);
|
|
|
log.info("设置用户token:{}", jwtToken);
|
|
|
loginedUser.setToken(jwtToken);
|
|
|
//这里将登录成功的[user]对象数据写入redis缓存,KEY为token value为user的JSON对象
|
|
|
String json = JSON.toJSONString(user);
|
|
|
boolean set = redisUtils.set(jwtToken, json, 3600 * 24 * 7);
|
|
|
log.info("用户信息存入redis:{}", set);
|
|
|
Map<String,Object> menuMap = permissionService.getUserMenusKako(user.getId());
|
|
|
//返回用户信息和用户可访问的目录列表
|
|
|
return new AuthSuccessResponse(loginedUser,menuMap);
|
|
|
}
|
|
|
return null;
|
|
|
}
|
|
|
return null;
|
|
|
}else {
|
...
|
...
|
|