Spring boot spring security-授权和未授权用户的主页设置

Spring boot spring security-授权和未授权用户的主页设置,spring-boot,spring-security,Spring Boot,Spring Security,我被困在spring安全配置中。有谁能帮我找到更好的解决办法吗。我有两个jsp页面,一个用于登录用户,另一个用于简单用户。其中,登录用户可以选择注销,而在其他jsp中,用户可以选择登录和注册 我的安全配置类 @Configuration @EnableWebSecurity public class SecureConfig extends WebSecurityConfigurerAdapter { @Autowired UserDetailsService userDeta

我被困在spring安全配置中。有谁能帮我找到更好的解决办法吗。我有两个jsp页面,一个用于登录用户,另一个用于简单用户。其中,登录用户可以选择注销,而在其他jsp中,用户可以选择登录和注册

我的安全配置类

@Configuration
@EnableWebSecurity
public class SecureConfig extends WebSecurityConfigurerAdapter {

    @Autowired
    UserDetailsService userDetailsService;

    @Value("${winni.auth.exit}")
    private String authExit;

    @Override
    protected void configure(AuthenticationManagerBuilder auth) throws Exception {
        auth.userDetailsService(userDetailsService)
                .passwordEncoder(passwordEncoder());
    }

    @Override
    protected void configure(HttpSecurity http) throws Exception {

        http.csrf().disable().requestMatchers()
                .antMatchers("/login","/web/**" ,"/exit","/action/**","/cart/**","/cart/xhr/**","/buyer/**")
                .and()
                .authorizeRequests()
                .anyRequest().authenticated()
                .and()
                .formLogin().permitAll().and()
                .logout().logoutSuccessUrl(authExit);
    }

    @Bean
    public PasswordEncoder passwordEncoder() {
        return new BCryptPasswordEncoder();
    }

    @Override
    public void configure(WebSecurity web) throws Exception {
        web.ignoring().antMatchers("/assets/**","/account/**","/start/**");
    }
}
家庭控制器是

@RequestMapping("/")
    public String sayHello(Principal principal) {
        if (principal != null) {
            return "login_user";
        } else {
            return "simple_user";
        }

    }

在任何情况下,主体对象也都为null。如何解决这个问题。

可能是您需要配置一些过滤器,我想@EnableWebMvc注释缺失。我不是,也许你需要在这个方向上考虑一下。@EnableWebMvc不适合我。