zoukankan      html  css  js  c++  java
  • shiro框架学习-7- Shiro权限控制注解和编程方式

    讲解权限角色控制 @RequiresRoles, @RequiresPermissions等注解的使用和编程式控制 配置文件的方式 使用ShiroConfig 注解方式

    • @RequiresRoles(value={"admin", "editor"}, logical= Logical.AND) 
      • 加了注解的接口的调用者需要具备admin 和 editor两个角色才能访问, AND表示两个同时成立
    • @RequiresPermissions (value={"user:add", "user:del"}, logical= Logical.OR)
      • 接口的调用者需要具备权限 user:add 或 user:del权限其中一个才能构访问,OR是或的意思。
    • @RequiresAuthentication
      • 已经授过权,调用Subject.isAuthenticated()返回true
    • @RequiresUser
      • 身份验证或者通过记 住我登录的 编程方式
    Subject subject = SecurityUtils.getSubject(); 
    //基于角色判断
    if(subject.hasRole(“admin”)) {
    	//有角色,有权限
    } else {
    	//无角色,无权限
    	
    }
    //或者权限判断
    if(subject.isPermitted("/user/add")){
        //有权限
    }else{
        //无权限
    }
    
    
    • 常见API 
      • subject.hasRole("xxx");
      • subject.isPermitted("xxx");
      • subject. isPermittedAll("xxxxx","yyyy");
      • subject.checkRole("xxx"); // 无返回值,可以认为内部使用断言的方式
  • 相关阅读:
    Postgres的TOAST技术
    Postgresql 分区表 一
    Postgresql 用户管理
    Linux FIO
    haproxy
    RHEL7/CentOS7 Network Service开机无法启动的解决方法
    Cockroachdb 四、用户管理及授权
    Cockroachdb 三、副本设置
    Cockroachdb 二、手动部署
    Cockroachdb 一、系统环境
  • 原文地址:https://www.cnblogs.com/enjoyjava/p/12089129.html
Copyright © 2011-2022 走看看