如何使用postman访问若依后台权限功能

    技术2022-07-11  119

    1、前言

    今天需要使用postman测试一下后端代码,但是访问方法需要登录权限,在询问了前辈后了解了解决方法,特此记录。

    2、解决方法

    首先将想要测试的方法上的权限注解注释掉 @PreAuthorize("@ss.hasPermi(‘system:project:list’)")注释的这里表示方法的请求URL。

    //@PreAuthorize("@ss.hasPermi('system:project:list')") @GetMapping("/list") public TableDataInfo list(SysProjectVO sysProjectVO) { startPage(); List<SysProject> list = sysProjectService.selectSysProjectList(sysProjectVO); return getDataTable(list); }

    然后找到framework/config/SecurityConfig

    protected void configure(HttpSecurity httpSecurity) throws Exception { httpSecurity // CRSF禁用,因为不使用session .csrf().disable() // 认证失败处理类 .exceptionHandling().authenticationEntryPoint(unauthorizedHandler).and() // 基于token,所以不需要session .sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS).and() // 过滤请求 .authorizeRequests() // 对于登录login 验证码captchaImage 允许匿名访问 .antMatchers("/login", "/captchaImage").anonymous() .antMatchers( HttpMethod.GET, "/*.html", "/**/*.html", "/**/*.css", "/**/*.js" ).permitAll() .antMatchers("/profile/**").anonymous() .antMatchers("/common/download**").anonymous() .antMatchers("/common/download/resource**").anonymous() .antMatchers("/swagger-ui.html").anonymous() .antMatchers("/swagger-resources/**").anonymous() .antMatchers("/webjars/**").anonymous() .antMatchers("/*/api-docs").anonymous() .antMatchers("/druid/**").anonymous() .antMatchers("/ctwing/receive**").anonymous() .antMatchers("/ctwing/receive/getDate**").anonymous() //在这里添加想要测试的方法访问URL,后面添加匿名访问的权限permitAll() .antMatchers("/system/project/list").permitAll() // 除上面外的所有请求全部需要鉴权认证 .anyRequest().authenticated() .and() .headers().frameOptions().disable(); httpSecurity.logout().logoutUrl("/logout").logoutSuccessHandler(logoutSuccessHandler); // 添加JWT filter httpSecurity.addFilterBefore(authenticationTokenFilter, UsernamePasswordAuthenticationFilter.class); }

    完成上面的工作就可以使用postman测试了。

    Processed: 0.010, SQL: 9