leonardee
2021-07-17 13:49
采纳率: 0%
浏览 558

在springsecurity中禁用session,我的登录首页会一直刷新,为什么?

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

    // 基于token,所以不需要session
    http.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS);

    //首页所有人可以访问
    //请求授权的规则~

    // 设置哪些页面可以直接访问,哪些需要验证
    http.authorizeRequests()
            .antMatchers(Constants.DEFAULT_LOGIN_PAGE, Constants.IMG_CODE_URL).permitAll()
            .anyRequest().authenticated()//剩下的所有的地址都是需要在认证状态下才可以访问
            .and()
            // 过滤登录验证码
            //.addFilterBefore(validateCodeFilter, UsernamePasswordAuthenticationFilter.class)
            .formLogin()//定制登录页
            .loginPage(Constants.DEFAULT_LOGIN_PAGE)
            .usernameParameter("username") //账号的请求参数名称
            .passwordParameter("password") //密码的请求参数名称
            .loginProcessingUrl(Constants.DEFAULT_LOGIN_URL)// 处理认证路径的请求
            .successHandler(defaultAuthenticationSuccessHandler) //登录成功处理的事情
            .failureHandler(defaultAuthenticationFailureHandler); //登录失败处理的事情
            //.and()
            //.exceptionHandling().authenticationEntryPoint(authenticationEntryPoint);
           // .failureUrl("/loginpage") //登录错误后返回原页面
            //.defaultSuccessUrl("/") //指定登录成功后前往的地址
            //.permitAll(); //登录界面都可以访问


    //注销,开启了注销功能
    http.csrf().disable();  //关闭csrf功能
    //定制注销的页面
    http.logout()
            .logoutUrl(Constants.DEFAULT_LOGOUT_URL)
            .logoutSuccessUrl(Constants.DEFAULT_LOGOUT_URL);

    // 解决不允许显示在iframe的问题
    http.headers().frameOptions().disable();
    http.headers().cacheControl();

    http.addFilterBefore(tokenFilter, UsernamePasswordAuthenticationFilter.class);
}

代码是上面那种方法写的 , 开启 http.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS);
之后,登录页面就一直在刷新。关闭之后就会正常 ,这是什么原因呢

4条回答 默认 最新

相关推荐 更多相似问题