【发布时间】:2016-09-03 19:32:09
【问题描述】:
我正在使用 Thymeleaf 和 Spring Boot 开发一个简单的登录表单。当我尝试在 Chrome 中点击以下 URL:“http://localhost:8080/login”时,我收到一条错误消息“ERR_TOO_MANY_REDIRECTS”。我已尝试清除浏览器中的缓存和 cookie,但仍然出现相同的错误。
我尝试通过将以下属性放入我的 application.properties 来禁用默认安全登录屏幕:security.basic.enabled=false
并将以下配置添加到我的 SecurityConfig 中,以便除“/login”和“/resources”之外的任何 URL 都可以通过身份验证:
@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Autowired
private UserRepository userRepository;
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers("/resources/**").permitAll()
.anyRequest().authenticated()
.and()
.formLogin()
.loginPage("/login")
.permitAll()
.and()
.logout()
.permitAll();
}
我的 LoginController 很简单:
@Controller
public class LoginController {
@RequestMapping(value="/login", method=RequestMethod.GET)
public String loadForm(Model model) {
model.addAttribute("user", new User());
return "redirect:/login";
}
有人知道为什么会这样吗?
【问题讨论】:
标签: spring-boot