use of com.diboot.iam.entity.BaseLoginUser in project diboot by dibo-software.
the class SSOAuthServiceImpl method saveLoginTrace.
/**
* 保存登录日志
* @param authToken
* @param isSuccess
*/
protected void saveLoginTrace(BaseJwtAuthToken authToken, boolean isSuccess) {
IamLoginTrace loginTrace = new IamLoginTrace();
loginTrace.setAuthType(getAuthType()).setAuthAccount(authToken.getAuthAccount()).setUserType(authToken.getUserType()).setSuccess(isSuccess);
BaseLoginUser currentUser = IamSecurityUtils.getCurrentUser();
if (currentUser != null) {
Long userId = currentUser.getId();
loginTrace.setUserId(userId);
}
// 记录客户端信息
String userAgent = request.getHeader("user-agent");
String ipAddress = IamSecurityUtils.getRequestIp(request);
loginTrace.setUserAgent(userAgent).setIpAddress(ipAddress);
try {
iamLoginTraceService.createEntity(loginTrace);
} catch (Exception e) {
log.warn("保存登录日志异常", e);
}
}
use of com.diboot.iam.entity.BaseLoginUser in project diboot by dibo-software.
the class LogAspect method afterReturningHandler.
/**
* 操作日志处理
* @param proceedingJoinPoint
*/
@AfterReturning(value = "pointCut()", returning = "returnObj")
public void afterReturningHandler(JoinPoint proceedingJoinPoint, Object returnObj) {
IamOperationLog operationLog = buildOperationLog(proceedingJoinPoint);
BaseLoginUser currentUser = IamSecurityUtils.getCurrentUser();
if (currentUser == null) {
currentUser = threadLocal.get();
}
// 处理返回结果
int statusCode = 0;
String errorMsg = null;
if (returnObj instanceof JsonResult) {
JsonResult jsonResult = (JsonResult) returnObj;
statusCode = jsonResult.getCode();
if (statusCode > 0) {
errorMsg = jsonResult.getMsg();
}
}
operationLog.setStatusCode(statusCode).setErrorMsg(errorMsg);
// 异步保存操作日志
iamAsyncWorker.saveOperationLog(operationLog, currentUser);
}
Aggregations