ServletAuthenticationDetails.java
package org.flasby.security.servlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import lombok.Getter;
@Getter
public class ServletAuthenticationDetails {
private final String remoteAddress;
private final String sessionId;
public ServletAuthenticationDetails(HttpServletRequest request) {
//get remoteAddress if set in the header. otherwise, get it from the request
this.remoteAddress = null != request.getHeader("X-FORWARDED-FOR") ? request.getHeader("X-FORWARDED-FOR") : request.getRemoteAddr();
HttpSession session = request.getSession(false);
this.sessionId = null != session ? session.getId() : null;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append(super.toString()).append(": ");
sb.append("RemoteIpAddress: ").append(this.getRemoteAddress()).append("; ");
sb.append("SessionId: ").append(this.getSessionId());
return sb.toString();
}
}