【问题标题】:Spring security adding filter before authentication filterSpring Security 在身份验证过滤器之前添加过滤器
【发布时间】:2014-09-04 13:19:36
【问题描述】:

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

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

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

我的问题:

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

【问题讨论】:

标签: java spring spring-security


【解决方案1】:

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

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

【讨论】:

  • 戴夫,如果我错了,请纠正我,我应该怎么做只是添加 并将模式更改为 Rest URL?如果应用程序使用 DelegatingFilterProxy,这应该如何工作?
  • 如果您更喜欢使用 XML,参考文档中有一个 XML 示例(请参见上面的链接)。为什么要使用表单登录? (不知道你对DelegatingFilterProxy 的意思是什么——这不是一个单独的问题吗?)。
猜你喜欢
  • 2023-03-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-20
  • 1970-01-01
  • 2017-11-22
  • 2018-12-11
  • 2021-01-20
相关资源
最近更新 更多