我想使用/ secure path的所有请求都需要ADMIN角色。 我所拥有的是一个控制器:
@Controller("/secure")
public class AdminController {
@RequestMapping("/allPosts")
public String allPosts(Model model){
//some logic
return "admin/allPosts";
}
}
其中allPosts是src / main / resources / templates / admin中的HTML / Thymeleaf页面。 这是我的配置文件:
.antMatchers("/secure/**").hasRole("ADMIN")
当我访问localhost:8080 / secure / allPosts时,它会按预期显示404,但我也可以访问localhost8080 / allPosts,这是错误的。这怎么可能呢?
答案 0 :(得分:2)
@Controller("/secure")
- 这是你的错误。注释值实际上是bean名称,而不是请求映射。并不期望404 - 你应该期待403.尝试以下方法:
@Controller
@RequestMapping("/secure")
public class AdminController