zoukankan      html  css  js  c++  java
  • Shiro:授权控制

    容易忽略的地方记录如下:

    1.需要引入下面2个依赖,具体版本根据自身环境修改:

    <dependency>
              <groupId>org.apache.geronimo.bundles</groupId>
              <artifactId>aspectjweaver</artifactId>
              <version>1.6.8_2</version>
    </dependency>
    <dependency>
              <groupId>org.aspectj</groupId>
              <artifactId>aspectjrt</artifactId>
              <version>1.8.10</version>
    </dependency>

    2。注入这两个bean:

    /**
       * 注解访问授权动态拦截,不然不会执行doGetAuthenticationInfo
       * 
       * @param securityManager
       * @return
       */
      @Bean
      public AuthorizationAttributeSourceAdvisor authorizationAttributeSourceAdvisor(SecurityManager securityManager) {
        AuthorizationAttributeSourceAdvisor authorizationAttributeSourceAdvisor = new AuthorizationAttributeSourceAdvisor();
        authorizationAttributeSourceAdvisor.setSecurityManager(securityManager);
        return authorizationAttributeSourceAdvisor;
      }
    
      /**
       * 授权未通过时(403)错误处理,没有这个不会跳转到403页面
       * 
       * @return
       */
      @Bean
      public SimpleMappingExceptionResolver getSimpleMappingExceptionResolver() {
        SimpleMappingExceptionResolver simpleMappingExceptionResolver = new SimpleMappingExceptionResolver();
        Properties mappings = new Properties();
        mappings.setProperty("org.apache.shiro.authz.UnauthorizedException", "/error/403");
        simpleMappingExceptionResolver.setExceptionMappings(mappings);
        return simpleMappingExceptionResolver;
      }

    完毕!

    这个时候执行如下代码,就会跳转到403页面:

    @RequiresPermissions("user:test")
    @GetMapping("/test")
    public String test() {
      String strResult = "/test";
      return strResult;
    }

    image

  • 相关阅读:
    传的参数乱码
    Tp5.0中分页加搜索的用法!!!
    TP5.0循环更新数据问题
    TP5.0中foreach里面使用save方法变成更新问题
    TP5.0中软删除的用法
    TP5.0中save方法加主键id的用法!!!
    用宝塔的定时任务写shell命令会以root执行的解决方法
    兆易创新RISC-V开发板评测
    使用vsCode配合IAR搭建arm开发环境
    Vue 路由导航解析流程
  • 原文地址:https://www.cnblogs.com/huiy/p/7704199.html
Copyright © 2011-2022 走看看