【发布时间】:2015-09-06 21:31:46
【问题描述】:
我需要为临时服务器设置全局基本 HTTP 身份验证。没有什么花哨。我只想要求用户名/密码来访问任何东西。我也想只使用 Java 配置。我尝试了很多不同的解决方案,但没有一个有效。我总是能够访问服务器上的所有资源。这就是我现在正在做的事情:
@Configuration
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
System.out.println("Configuring HttpSecurity");
http
.authorizeRequests()
.anyRequest().authenticated()
.and()
.httpBasic();
}
@Autowired
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
System.out.println("Configuring global AuthenticationManagerBuilder");
auth
.inMemoryAuthentication()
.withUser("user").password("password").roles("USER");
}
}
我可以在日志中看到这些 sn-ps 正在执行。如您所见,在第一种方法中,我要求所有请求都经过身份验证。在第二种方法中,我在内存中指定了身份验证。
【问题讨论】:
-
您遇到的错误是什么?以及您是如何尝试登录的?需要更多有关问题的信息
-
没有错误。问题是没有提示我执行基本的 HTTP 身份验证。每当请求任何资源时,我都希望始终要求基本的 HTTP 身份验证。
标签: spring-mvc spring-security basic-authentication spring-java-config spring-4