spring security登录查询字符串以及表单登录

时间:2015-01-31 11:13:35

标签: spring-security

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

1 个答案:

答案 0 :(得分:0)

出于安全原因,在Spring安全性中禁用了GET身份验证。 GET请求(及其参数)进入日志文件对登录凭据来说是一件非常糟糕的事情。它们也可以缓存在上游代理中,其中日志记录完全不受您的控制。你已被警告,但如果你真的想:

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

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

@Bean
public UsernamePasswordAuthenticationFilter getLoginFilter() {
    UsernamePasswordAuthenticationFilter loginFilter = new UsernamePasswordAuthenticationFilter();
    loginFilter.setPostOnly(false);
    return loginFilter;
}