java - spring security - 在 UserDetailsS​​ervice 实现中访问请求参数

标签 java spring-mvc spring-security

我正在开发一个 java spring mvc 应用程序。我已经像这样实现了 UserDetailsS​​ervice 接口(interface):

@Component
@Transactional
public class SecurityDAO implements UserDetailsService{

     @Override
     public UserDetails loadUserByUsername(final String username) throws UsernameNotFoundException {
         ...
     }

     ....
}

我需要在 loadUserByUsername 方法中找到用户登录 url(因为该项目有多个登录 url)。事实上,我想在 UserDetailsS​​ervice 实现中访问请求参数。

最佳答案

只需将请求注入(inject)您的服务:

 @Autowired
 private HttpServletRequest request;

不过,要使其正常工作,您需要事先注册 RequestContextListener:

@Bean 
public RequestContextListener requestContextListener(){
    return new RequestContextListener();
} 

关于java - spring security - 在 UserDetailsS​​ervice 实现中访问请求参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36736861/

相关文章:

java - 从 Java 6 升级到 Java 7/8 后,Apple 无法推送

java - Eclipse:类似于 emacs ace-jump-mode 的插件?

java - 用于单元测试的模拟 Spring Controller

Java Spring Web - 使用 validator 将子属性转换为对象

java - Spring security 401 在不安全的端点上未经授权

grails - InterceptUrlMap 被覆盖?

java - 为什么两个 Java 进程可以绑定(bind)到 macOS 中的同一个套接字?

java - 从 tika-app 调用 ctakes 解析器时出现异常

java - 用 java 配置完全替换 web.xml (Spring MVC 4 - Tomcat 7/8)

java - 如何在 Spring Security 中关闭 HTTP session 超时?