栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

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

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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();


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/466346.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号