java - Spring Security 在身份验证过滤器之前添加过滤器

标签 java spring spring-security

我需要在我的应用程序中实现 REST Basic 身份验证。其中请求将包含一个 header ,其中包含加密为 Base64 的用户名:密码值。

我的应用程序使用 DaoAuthenticationProvider。这样,提供商需要用户名和密码才能进行身份验证过程。

从身份验证过滤器的配置中,我看到过滤器有两个属性(usernameParameterpasswordParameter)。就我而言,用户名和密码不会作为参数发送,因此我认为在身份验证处理过滤器之前有一个过滤器,它从请求 header 中检索所需的数据,然后将其传递到下一个过滤器。

我的问题:

  1. 这是进行其余基本身份验证的正确方法吗?或者还有其他方法吗?
  2. 是否有在身份验证处理过滤器之前使用自定义过滤器的示例?

最佳答案

您可能看到了错误的过滤器,因为已经有一个过滤器可以执行 HTTP 基本身份验证(请参见 docs here )。示例:

protected void configure(HttpSecurity http) throws Exception {
    http.authorizeRequests()
        .anyRequest().authenticated()
        .and()
     .httpBasic();
}

关于java - Spring Security 在身份验证过滤器之前添加过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24739680/

相关文章:

java - 有没有办法去 try catch ?

java - Spring STS : Moving classes to other folders causes not found error when running url

java - spring security - 动态角色

java - 移动客户端登录Spring REST服务器

Java - 字符串作为新的sql表名称

java - 如何创建/编辑 .class 文件代码

java - Spring 启动: Async request not returning anything

java - findbyid对象 Spring 启动和更新

java - 如何将springsecurity集成到GWT中?

java - 使用 ServletContextListener 和 SLF4J 在 contextDestroyed 上没有日志输出