我使用 spring-acegi,我想从 DAO 层检索 IP 地址。当我使用类似的东西时:
Authentication auth = SecurityContextHolder.getContext().getAuthentication();
if (auth != null) {
WebAuthenticationDetails details1 = ((WebAuthenticationDetails)auth.getDetails());
if (details1 != null) {
userIp = details1.getRemoteAddress();
}
}
在身份验证的那一刻,身份验证为空,我无法检索 IP 地址。
我也试图通过
String remoteAddress = ((ServletRequestAttributes)RequestContextHolder.currentRequestAttributes())
.getRequest().getRemoteAddr();
但得到一个编译错误(我们使用 GWT)。
有人可以帮我吗?谢谢。