Commit ca53374b authored by 赵啸非's avatar 赵啸非

添加用户登录鉴权

parent 0e6a5a5a
...@@ -3,12 +3,14 @@ package com.mortals.xhx.base.framework.interceptor; ...@@ -3,12 +3,14 @@ package com.mortals.xhx.base.framework.interceptor;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.mortals.framework.ap.SysConstains; import com.mortals.framework.ap.SysConstains;
import com.mortals.framework.common.Rest;
import com.mortals.framework.service.IAuthTokenService; import com.mortals.framework.service.IAuthTokenService;
import com.mortals.framework.service.ICacheService; import com.mortals.framework.service.ICacheService;
import com.mortals.framework.service.IUser; import com.mortals.framework.service.IUser;
import com.mortals.framework.util.DateUtils; import com.mortals.framework.util.DateUtils;
import com.mortals.framework.util.StringUtils; import com.mortals.framework.util.StringUtils;
import com.mortals.xhx.base.system.user.model.UserEntity; import com.mortals.xhx.base.system.user.model.UserEntity;
import com.mortals.xhx.feign.user.IUserFeign;
import io.jsonwebtoken.Claims; import io.jsonwebtoken.Claims;
import io.jsonwebtoken.Jwts; import io.jsonwebtoken.Jwts;
import io.jsonwebtoken.SignatureAlgorithm; import io.jsonwebtoken.SignatureAlgorithm;
...@@ -69,6 +71,8 @@ public class AuthTokenServiceImpl implements IAuthTokenService { ...@@ -69,6 +71,8 @@ public class AuthTokenServiceImpl implements IAuthTokenService {
@Autowired @Autowired
private ICacheService cacheService; private ICacheService cacheService;
@Autowired
private IUserFeign userFeign;
/** /**
* 获取信息 * 获取信息
...@@ -85,11 +89,15 @@ public class AuthTokenServiceImpl implements IAuthTokenService { ...@@ -85,11 +89,15 @@ public class AuthTokenServiceImpl implements IAuthTokenService {
Claims claims = parseToken(token); Claims claims = parseToken(token);
String uuid = (String) claims.get(SysConstains.LOGIN_USER_KEY); String uuid = (String) claims.get(SysConstains.LOGIN_USER_KEY);
String userKey = getTokenKey(uuid); String userKey = getTokenKey(uuid);
cacheService.select(portalDb); // cacheService.select(portalDb);
String userStr = cacheService.get(userKey); // String userStr = cacheService.get(userKey);
cacheService.select(db); // cacheService.select(db);
Rest<String> rest = userFeign.getToken(userKey);
String userStr = rest.getData();
if (StringUtils.isNotEmpty(userStr)) { if (StringUtils.isNotEmpty(userStr)) {
UserEntity userEntity = JSONObject.parseObject(userStr, UserEntity.class); UserEntity userEntity = JSONObject.parseObject(userStr, UserEntity.class);
userEntity.setToken(token);
return userEntity; return userEntity;
} }
} catch (Exception e) { } catch (Exception e) {
......
...@@ -65,6 +65,15 @@ public interface IUserFeign extends IFeign { ...@@ -65,6 +65,15 @@ public interface IUserFeign extends IFeign {
String portalLogin(@RequestBody UserPdu userPdu); String portalLogin(@RequestBody UserPdu userPdu);
/**
* 获取token
*
* @param
* @return
*/
@PostMapping(value = "/user/token")
Rest<String> getToken(@RequestParam(value = "userKey") String userKey);
} }
...@@ -100,6 +109,11 @@ class UserFeignFallbackFactory implements FallbackFactory<IUserFeign> { ...@@ -100,6 +109,11 @@ class UserFeignFallbackFactory implements FallbackFactory<IUserFeign> {
return JSON.toJSONString(Rest.fail("登录失败!")); return JSON.toJSONString(Rest.fail("登录失败!"));
} }
@Override
public Rest<String> getToken(String userKey) {
return Rest.fail("token获取失败");
}
}; };
} }
......
...@@ -81,7 +81,7 @@ public class UserController extends BaseCRUDJsonBodyMappingController<UserServic ...@@ -81,7 +81,7 @@ public class UserController extends BaseCRUDJsonBodyMappingController<UserServic
this.addDict(model, "userType", paramService.getParamBySecondOrganize("User", "userType")); this.addDict(model, "userType", paramService.getParamBySecondOrganize("User", "userType"));
this.addDict(model, "status", paramService.getParamBySecondOrganize("User", "status")); this.addDict(model, "status", paramService.getParamBySecondOrganize("User", "status"));
List<RoleEntity> roleList = roleService.find(new RoleEntity()); List<RoleEntity> roleList = roleService.find(new RoleEntity());
super.addDict(model, "roleId", roleList.stream().collect(Collectors.toMap(e->e.getId().toString(), e->e.getName()))); super.addDict(model, "roleId", roleList.stream().collect(Collectors.toMap(e -> e.getId().toString(), e -> e.getName())));
super.init(model, context); super.init(model, context);
} }
...@@ -90,9 +90,9 @@ public class UserController extends BaseCRUDJsonBodyMappingController<UserServic ...@@ -90,9 +90,9 @@ public class UserController extends BaseCRUDJsonBodyMappingController<UserServic
protected int viewAfter(Long id, Map<String, Object> model, UserEntity entity, Context context) throws AppException { protected int viewAfter(Long id, Map<String, Object> model, UserEntity entity, Context context) throws AppException {
Map<Long, String> roleMap = roleService.find(new RoleQuery()).stream().collect(Collectors.toMap(x -> x.getId(), y -> y.getName())); Map<Long, String> roleMap = roleService.find(new RoleQuery()).stream().collect(Collectors.toMap(x -> x.getId(), y -> y.getName()));
List<RoleUserEntity> roleUserList = roleUserService.find(new RoleUserQuery().userId(id)); List<RoleUserEntity> roleUserList = roleUserService.find(new RoleUserQuery().userId(id));
if(!ObjectUtils.isEmpty(roleUserList)){ if (!ObjectUtils.isEmpty(roleUserList)) {
entity.setRoleId(roleUserList.stream().map(RoleUserEntity::getRoleId).map(String::valueOf).collect(Collectors.joining(","))); entity.setRoleId(roleUserList.stream().map(RoleUserEntity::getRoleId).map(String::valueOf).collect(Collectors.joining(",")));
entity.setRoleName(roleUserList.stream().map(m->roleMap.get(m.getRoleId())).filter(f->f!=null).collect(Collectors.joining(","))); entity.setRoleName(roleUserList.stream().map(m -> roleMap.get(m.getRoleId())).filter(f -> f != null).collect(Collectors.joining(",")));
} }
return super.viewAfter(id, model, entity, context); return super.viewAfter(id, model, entity, context);
...@@ -112,7 +112,7 @@ public class UserController extends BaseCRUDJsonBodyMappingController<UserServic ...@@ -112,7 +112,7 @@ public class UserController extends BaseCRUDJsonBodyMappingController<UserServic
Result result = this.getService().findExt(query, pageInfo, context); Result result = this.getService().findExt(query, pageInfo, context);
model.put("data", result.getList()); model.put("data", result.getList());
model.put("pageInfo", result.getPageInfo()); model.put("pageInfo", result.getPageInfo());
super.parsePageInfo(model,result.getPageInfo()); super.parsePageInfo(model, result.getPageInfo());
this.parsePageInfo(model, result.getPageInfo()); this.parsePageInfo(model, result.getPageInfo());
code = this.doListAfter(query, model, context); code = this.doListAfter(query, model, context);
this.recordSysLog(this.request, busiDesc + " 【成功】"); this.recordSysLog(this.request, busiDesc + " 【成功】");
...@@ -125,7 +125,7 @@ public class UserController extends BaseCRUDJsonBodyMappingController<UserServic ...@@ -125,7 +125,7 @@ public class UserController extends BaseCRUDJsonBodyMappingController<UserServic
ret.setCode(code); ret.setCode(code);
ret.setData(model); ret.setData(model);
ret.setDict(model.get(KEY_RESULT_DICT)); ret.setDict(model.get(KEY_RESULT_DICT));
ret.setMsg(model.get(MESSAGE_INFO)==null?"":model.remove(MESSAGE_INFO).toString()); ret.setMsg(model.get(MESSAGE_INFO) == null ? "" : model.remove(MESSAGE_INFO).toString());
return ret; return ret;
} }
...@@ -175,6 +175,7 @@ public class UserController extends BaseCRUDJsonBodyMappingController<UserServic ...@@ -175,6 +175,7 @@ public class UserController extends BaseCRUDJsonBodyMappingController<UserServic
/** /**
* 站点授权 * 站点授权
*
* @return * @return
*/ */
@PostMapping(value = "siteAuth") @PostMapping(value = "siteAuth")
...@@ -183,7 +184,7 @@ public class UserController extends BaseCRUDJsonBodyMappingController<UserServic ...@@ -183,7 +184,7 @@ public class UserController extends BaseCRUDJsonBodyMappingController<UserServic
Map<String, Object> model = new HashMap<>(); Map<String, Object> model = new HashMap<>();
String busiDesc = this.getModuleDesc() + "站点授权"; String busiDesc = this.getModuleDesc() + "站点授权";
try { try {
this.service.siteAuth(entityExt,getContext()); this.service.siteAuth(entityExt, getContext());
recordSysLog(request, busiDesc + "【成功】"); recordSysLog(request, busiDesc + "【成功】");
ret.put(KEY_RESULT_CODE, VALUE_RESULT_SUCCESS); ret.put(KEY_RESULT_CODE, VALUE_RESULT_SUCCESS);
ret.put(KEY_RESULT_MSG, "授权成功!"); ret.put(KEY_RESULT_MSG, "授权成功!");
...@@ -199,6 +200,7 @@ public class UserController extends BaseCRUDJsonBodyMappingController<UserServic ...@@ -199,6 +200,7 @@ public class UserController extends BaseCRUDJsonBodyMappingController<UserServic
/** /**
* 获取验证token * 获取验证token
*
* @return * @return
*/ */
@PostMapping(value = "token") @PostMapping(value = "token")
...@@ -207,7 +209,10 @@ public class UserController extends BaseCRUDJsonBodyMappingController<UserServic ...@@ -207,7 +209,10 @@ public class UserController extends BaseCRUDJsonBodyMappingController<UserServic
try { try {
String userStr = cacheService.get(userKey); String userStr = cacheService.get(userKey);
return Rest.ok("获取token成功!",userStr); if (!ObjectUtils.isEmpty(userStr)) {
return Rest.ok("获取token成功!", userStr);
}
return Rest.fail("获取token异常!");
} catch (Exception e) { } catch (Exception e) {
log.error("查询token错误", e); log.error("查询token错误", e);
return Rest.fail("获取token异常!"); return Rest.fail("获取token异常!");
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment