spring每次登录都会显示安全性

wa7juj8i  于 2021-06-29  发布在  Java
关注(0)|答案(1)|浏览(358)

我想允许所有用户的标签页,但应用程序保持登录页每次。这是我的配置文件

@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";
        }

实际上,看起来我的残疾保安根本没用。当我访问/标签时,它会显示登录页面。

93ze6v8z

93ze6v8z1#

删除pom.xml文件中的以下安全依赖项

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
<version>2.3.6.RELEASE</version>
</dependency>

相关问题