Commit 2b274570 by xieshaohua

feat: add login log

parent 9f1b7bb5
......@@ -74,7 +74,7 @@ public class RESTAuthenticationSuccessHandler extends SimpleUrlAuthenticationSuc
}
if (returnStatus.equals("ok")) {
LogManager.logInfo(LogConstants.CTX_AUDIT, userNameWithIdAttached + " 登录了系统");
LogManager.logLogin(userNameWithIdAttached, request.getSession(false));
}
PrintWriter writer = response.getWriter();
......
......@@ -4,4 +4,6 @@ public interface LogConstants {
String CTX_AUDIT = "sso.AUDIT";
String SSO_API = "sso.API";
}
package com.keymobile.sso.logging;
import jakarta.servlet.http.HttpSession;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.slf4j.MDC;
public class LogManager {
......@@ -52,5 +54,23 @@ public class LogManager {
logError(context, message);
}
public static void logLogin(String userNameWithIdAttached, HttpSession session) {
String[] parts = userNameWithIdAttached.split(":");
String userName = parts[0];
String userDName = parts.length > 2 ? parts[2] : "";
if (session != null) {
MDC.put("user", getLogUserInfo(userName, userDName));
MDC.put("session", session.getId());
}
logInfo(LogConstants.SSO_API, "登录");
}
public static String getLogUserInfo(String userName, String userDName) {
if (userDName == null || userDName.isEmpty()) {
return userName;
}
return userName + "(" + userDName + ")";
}
}
......@@ -173,9 +173,7 @@ public class PortalAuthService {
session.setAttribute("SPRING_SECURITY_CONTEXT", SecurityContextHolder.getContext());
log.info("单点登录用户:{}", userName);
MDC.put("user", userName);
MDC.put("session", session.getId());
LogManager.logInfo(LogConstants.CTX_AUDIT, "登录");
LogManager.logLogin(userDetails.getUsername(), session);
response.sendRedirect(ssoRedirectUrl);
return null;
}
......
......@@ -25,7 +25,7 @@
</additionalField>
</appender>
<logger name="sso.AUDIT">
<logger name="sso.API">
<appender-ref ref="logstash" />
</logger>
......
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