Spring Security-检索用户IP,浏览器信息和请求的页面

Spring Security-检索用户IP,浏览器信息和请求的页面,第1张

Spring Security-检索用户IP,浏览器信息和请求的页面

所有信息均可通过访问

HttpServletRequest
。您可以通过以下方式获取它:

依赖注入

最简单的方法是将servlet请求直接注入您的

UserDetailsService:
类中:

public MyDetailsService implements UserDetailsService {  @Autowired  private HttpServletRequest request;  //...}

(由OP建议) 请记住将以下侦听器添加到您的

web.xml

<listener>    <listener-class>        org.springframework.web.context.request.RequestContextListener    </listener-class></listener>

更新:之所以

HttpServletRequest
可行,是因为Spring注入了特殊范围的代理实现,因此您可以从singleton-
scoped访问请求范围的请求“ bean”
MyDetailsService
。在幕后,每次调用时都会调用
request
参数
org.springframework.web.context.request.RequestContextHolder#requestAttributesHolder

ThreadLocal
,您也可以直接访问这些参数。如您所见,Spring在范围规则方面非常灵活。它只是工作。


RequestContextHolder

另一种方法是使用

RequestContextHolder

HttpServletRequest request =   ((ServletRequestAttributes) RequestContextHolder.    currentRequestAttributes()).    getRequest();


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5441841.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存