Commit 2b274570 by xieshaohua

feat: add login log

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