处理类型转换问题

This commit is contained in:
wanggeng 2021-11-01 11:21:07 +08:00
parent 19f4649e2d
commit 0974650b91

View File

@ -4,6 +4,7 @@ import ink.wgink.common.service.rbac.IRbacService;
import ink.wgink.interfaces.consts.ISystemConstant;
import ink.wgink.pojo.bos.LoginUser;
import ink.wgink.pojo.bos.RoleGrantedAuthorityBO;
import ink.wgink.pojo.bos.UserInfoBO;
import ink.wgink.properties.AccessControlProperties;
import ink.wgink.properties.LoggingProperties;
import ink.wgink.util.log.LogUtil;
@ -47,7 +48,6 @@ public class RbacServiceImpl implements IRbacService {
if (object == null || "anonymousUser".equals(object.toString())) {
return false;
}
LoginUser loginUser = (LoginUser) object;
boolean hasPermission = false;
String requestURI = request.getRequestURI();
Collection<? extends GrantedAuthority> grantedAuthorities = authentication.getAuthorities();
@ -109,7 +109,14 @@ public class RbacServiceImpl implements IRbacService {
break;
}
}
log(hasPermission, requestURI, contextPath, request, loginUser);
if (object instanceof UserInfoBO) {
UserInfoBO userInfoBO = (UserInfoBO) object;
log(hasPermission, requestURI, contextPath, request, userInfoBO.getUserId(), userInfoBO.getUserName());
}
if (object instanceof LoginUser) {
LoginUser loginUser = (LoginUser) object;
log(hasPermission, requestURI, contextPath, request, loginUser.getUserId(), loginUser.getUserName());
}
return hasPermission;
}
@ -231,9 +238,10 @@ public class RbacServiceImpl implements IRbacService {
* @param requestURI
* @param contextPath
* @param request
* @param loginUser
* @param userId
* @param userName
*/
private void log(boolean hasPermission, String requestURI, String contextPath, HttpServletRequest request, LoginUser loginUser) {
private void log(boolean hasPermission, String requestURI, String contextPath, HttpServletRequest request, String userId, String userName) {
if (!hasPermission) {
return;
}
@ -244,7 +252,7 @@ public class RbacServiceImpl implements IRbacService {
if (!uri.startsWith("/route")) {
return;
}
LogUtil.routeLog(request, uri, loginUser.getUserId(), loginUser.getUserName());
LogUtil.routeLog(request, uri, userId, userName);
}
}