Spring security 使用查询字符串和表单登录的spring安全登录

Spring security 使用查询字符串和表单登录的spring安全登录,spring-security,Spring Security,我们有一个应用程序,它使用spring security执行表单登录。但现在我们还想从查询字符串中验证用户。我尝试使用自定义过滤器,但没有解决问题。有人能帮我解决这个问题吗?在spring security中,由于安全原因,通过GET的身份验证被禁用。GET请求及其参数进入日志文件这对登录凭据来说是一件非常糟糕的事情。它们也可以缓存在上游代理中,在那里日志记录完全不受您的控制。您已收到警告,但如果您确实想: 通过在loginFilter上设置属性,可以通过GET启用身份验证。根据您的配置样式xm

我们有一个应用程序,它使用spring security执行表单登录。但现在我们还想从查询字符串中验证用户。我尝试使用自定义过滤器,但没有解决问题。有人能帮我解决这个问题吗?

在spring security中,由于安全原因,通过GET的身份验证被禁用。GET请求及其参数进入日志文件这对登录凭据来说是一件非常糟糕的事情。它们也可以缓存在上游代理中,在那里日志记录完全不受您的控制。您已收到警告,但如果您确实想:

通过在loginFilter上设置属性,可以通过GET启用身份验证。根据您的配置样式xml或javaconfig,这将是:

<bean id="loginFilter" class="org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter"
  p:postOnly="false" />

该查询字符串是否有什么特殊之处,或者您只是试图向身份验证端点发送GET请求?这是一个简单的GET请求,如application.com/login?username=abc,但同时application.com/login应该重定向到表单login。
@Bean
public UsernamePasswordAuthenticationFilter getLoginFilter() {
    UsernamePasswordAuthenticationFilter loginFilter = new UsernamePasswordAuthenticationFilter();
    loginFilter.setPostOnly(false);
    return loginFilter;
}