我想允许所有用户的标签页,但应用程序保持登录页每次。这是我的配置文件
@Configuration
@EnableWebSecurity
public class SpringBootSecurityConfiguration extends WebSecurityConfigurerAdapter {
@Override
public void configure(AuthenticationManagerBuilder auth) throws Exception {
auth.inMemoryAuthentication()
.withUser("root").password("{noop}password").roles("admin");
}
@Override
public void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers("/tags").permitAll()
.antMatchers("/admin/**").hasAnyRole("admin")
.and()
.formLogin().loginPage("/login").permitAll();
}
}
控制器的一些方法
@GetMapping("/tags")
public String showAllTags(Model model) {
model.addAttribute("tags", tagRepository.findAll());
return "all_tags";
}
@GetMapping("/admin/edit/tag/{id}")
public String showUpdateForm(@PathVariable("id") long id, Model model) {
Tag tag = tagRepository.findById(id)
.orElseThrow(() -> new IllegalArgumentException("Invalid user Id:" + id));
model.addAttribute("tag", tag);
return "update_tag";
}
@PostMapping("/admin/update/tag/{id}")
public String updateTag(@PathVariable("id") long id, Tag tag,
BindingResult result, Model model) {
if (result.hasErrors()) {
tag.setId(id);
return "update_tag";
}
tagRepository.save(tag);
return "redirect:/tags";
}
实际上,看起来我的残疾保安根本没用。当我访问/标签时,它会显示登录页面。
1条答案
按热度按时间93ze6v8z1#
删除pom.xml文件中的以下安全依赖项