springboot+security 使用layui弹出层弹出jsp页面

怎甘沉沦 提交于 2020-03-08 16:21:50

一、坑的描述

        踩坑原因:因为使用layui需要弹出一个页面,后台权限使用的是security,弹出层需要请求后台返回逻辑视图名。当我点击完之后返回页面一片空白,打开控制台,显示请求路径为404,异常如下:

    

        打开控制台可以看到一下错误信息:

二、解决问题

    这是因为security不允许使用嵌套页面,即使本地访问依然不允许,我们需要在security配置类中加如下代码结局问题。

 @Override
    public void configure(HttpSecurity http) throws Exception {
        //释放静态资源,指定资源拦截规则,
        // 指定自定义认证页面,指定退出认证配置,csrf(跨域伪造请求)配置
        http.authorizeRequests()
                .antMatchers("/wx/**","/intoLogin","/webapp/**","/druid/**").permitAll()//释放这些资源,允许匿名访问
                .antMatchers("/sys/*").hasRole("USER")
                .anyRequest().authenticated()//其他资源需要认证
                .and()
                .formLogin()
                .loginPage("/intoLogin")//登陆页请求的接口
                .loginProcessingUrl("/login")//登陆地址,由springSecurity提供
                .usernameParameter("username")//用户名参数名
                .passwordParameter("password")//密码参数名
                .successForwardUrl("/jumpIndex")//登陆成功
                .failureForwardUrl("/loginFail")//登录失败
                .permitAll()//指定所有资源释放
                .and()
                .logout()//登出
                .logoutUrl("/logout")//指定登出路径
                .logoutSuccessUrl("/loginOut")//登出成功后跳转的url
                .invalidateHttpSession(true)//是否清空session
                .permitAll()
                .and()
                .csrf()
                .disable()//关闭csrf(跨域伪造请求)
                .headers()//请求头设置
                .frameOptions()//允许嵌套页面
                .disable();
    }

这里是关键,加上之后即可解决问题

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!