Java 如何使用spring security的请求参数中的凭据进行身份验证?
我对Spring Boot和Spring Security有点陌生。 我遇到这样一种情况:我需要对请求进行身份验证,并且用户名和密码位于请求参数中,例如Java 如何使用spring security的请求参数中的凭据进行身份验证?,java,spring,spring-security,spring-boot,Java,Spring,Spring Security,Spring Boot,我对Spring Boot和Spring Security有点陌生。 我遇到这样一种情况:我需要对请求进行身份验证,并且用户名和密码位于请求参数中,例如localhost:8080?username=bob&password=123 有人能帮我理解我需要如何配置我的安全配置吗?我正在尝试以Java配置而不是XML的形式来配置。我还需要禁用试图使用基本HTTP身份验证进行身份验证的用户。因此,他们获得访问权限的唯一方法是在请求参数中提供用户名和密码。到目前为止,我的配置如下所示: @Overrid
localhost:8080?username=bob&password=123
有人能帮我理解我需要如何配置我的安全配置吗?我正在尝试以Java配置而不是XML的形式来配置。我还需要禁用试图使用基本HTTP身份验证进行身份验证的用户。因此,他们获得访问权限的唯一方法是在请求参数中提供用户名和密码。到目前为止,我的配置如下所示:
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.csrf().disable()
.httpBasic().disable()
.authorizeRequests()
.antMatchers("/test**").authenticated()
.antMatchers("/pass**").permitAll();
}
我不确定如何在请求参数中查找凭据。不要使用这种方法,因为密码太公开。至少,将它们放在请求正文中并使用HTTPS。为了您自身的安全,不要禁用csrf,因为它保证只有包含由您的应用程序生成的csrf令牌的请求,并阻止其他请求。您可以从官方网站访问详细文档。我无法选择如何发送用户名和密码-因为第三方公司正在发送用户名和密码,并且不会更改(即使我也不喜欢),而且我不相信我可以使用csrf令牌,因为它是一种类似API的访问,我的应用程序永远不会发送任何内容。