java.security.BasicPermission类的使用及代码示例

x33g5p2x  于2022-01-16 转载在 其他  
字(10.8k)|赞(0)|评价(0)|浏览(91)

本文整理了Java中java.security.BasicPermission类的一些代码示例,展示了BasicPermission类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。BasicPermission类的具体详情如下:
包路径:java.security.BasicPermission
类名称:BasicPermission

BasicPermission介绍

[英]The BasicPermission class extends the Permission class, and can be used as the base class for permissions that want to follow the same naming convention as BasicPermission.

The name for a BasicPermission is the name of the given permission (for example, "exit", "setFactory", "print.queueJob", etc). The naming convention follows the hierarchical property naming convention. An asterisk may appear by itself, or if immediately preceded by a "." may appear at the end of the name, to signify a wildcard match. For example, "" and "java." are valid, while "java", "ab", and "java*" are not valid.

The action string (inherited from Permission) is unused. Thus, BasicPermission is commonly used as the base class for "named" permissions (ones that contain a name but no actions list; you either have the named permission or you don't.) Subclasses may implement actions on top of BasicPermission, if desired.
[中]BasicPermission类扩展了Permission类,可以用作希望遵循与BasicPermission相同的命名约定的权限的基类。
BasicPermission的名称是给定权限的名称(例如,“exit”、“setFactory”、“print.queueJob”等)。命名约定遵循分层特性命名约定。星号可以单独出现,也可以紧跟在“.”之前出现可能出现在名称的末尾,表示通配符匹配。例如,“”和“java.”有效,而“java”、“ab”和“java*”无效。
操作字符串(从权限继承)未使用。因此,BasicPermission通常用作“命名”权限(包含名称但没有操作列表的权限;您可以拥有命名权限,也可以没有命名权限)的基类。如果需要,子类可以在BasicPermission之上实现操作。

代码示例

代码示例来源:origin: wildfly/wildfly

public boolean implies(final SelectorPermission p) {
  return p != null && (p.actions & actions) == p.actions && super.implies(p);
}

代码示例来源:origin: wildfly/wildfly

public boolean equals(final SelectorPermission p) {
  return p != null && (p.actions == actions) && super.equals(p);
}

代码示例来源:origin: net.sf.tsl2nano/tsl2.nano.serviceaccess

@Override
public boolean implies(Permission p) {
  boolean result = super.implies(p);
  if (!result) {
    return result;
  }
  
  BasicPermission bp = (BasicPermission) p;
  if (actions == null || actions.equals("*")) {
    return true;
  }
  if (bp.getActions() == null || bp.getActions().equals("*")) {
    return true;
  }
  List<String> s = Arrays.asList(actions.split(","));
  List<String> sbp = Arrays.asList(bp.getActions().split(","));
  return s.containsAll(sbp);
  
}

代码示例来源:origin: net.sf.tsl2nano/tsl2.nano.serviceaccess

@Override
public void checkGuard(Object object) throws SecurityException {
  super.checkGuard(object);
  
  if (object instanceof Subject) {
    Subject subject = (Subject) object;
    Set<Role> roles = subject.getPrincipals(Role.class);
    for (Role role : roles) {
      Set<BasicPermission> permissions = role.getPermissions();
      for (BasicPermission p : permissions) {
        if (p.implies(this)) {
          return;
        }
      }
    }
  } else {
    //TODO: are there other use cases?
  }
  throw new SecurityException("Object '" + object + "' has no permission to access " + this);
}

代码示例来源:origin: org.elasticsearch/elasticsearch

@Override
  public PermissionCollection newPermissionCollection() {
    // BasicPermissionCollection only handles wildcards, we expand <<STANDARD>> here
    PermissionCollection impl = super.newPermissionCollection();
    return new PermissionCollection() {
      @Override
      public void add(Permission permission) {
        if (permission instanceof ClassPermission && STANDARD.equals(permission.getName())) {
          for (String clazz : STANDARD_CLASSES) {
            impl.add(new ClassPermission(clazz));
          }
        } else {
          impl.add(permission);
        }
      }

      @Override
      public boolean implies(Permission permission) {
        return impl.implies(permission);
      }

      @Override
      public Enumeration<Permission> elements() {
        return impl.elements();
      }
    };
  }
}

代码示例来源:origin: com.strapdata.elasticsearch/elasticsearch

@Override
  public PermissionCollection newPermissionCollection() {
    // BasicPermissionCollection only handles wildcards, we expand <<STANDARD>> here
    PermissionCollection impl = super.newPermissionCollection();
    return new PermissionCollection() {
      @Override
      public void add(Permission permission) {
        if (permission instanceof ClassPermission && STANDARD.equals(permission.getName())) {
          for (String clazz : STANDARD_CLASSES) {
            impl.add(new ClassPermission(clazz));
          }
        } else {
          impl.add(permission);
        }
      }

      @Override
      public boolean implies(Permission permission) {
        return impl.implies(permission);
      }

      @Override
      public Enumeration<Permission> elements() {
        return impl.elements();
      }
    };
  }
}

代码示例来源:origin: org.osgi/org.osgi.core

/**
 * Internal implies method. Used by the implies and the permission
 * collection implies methods.
 * 
 * @param requested The requested CapabilityPermission which has already be
 *        validated as a proper argument. The requested CapabilityPermission
 *        must not have a filter expression.
 * @param effective The effective actions with which to start.
 * @return {@code true} if the specified permission is implied by this
 *         object; {@code false} otherwise.
 */
boolean implies0(CapabilityPermission requested, int effective) {
  /* check actions first - much faster */
  effective |= action_mask;
  final int desired = requested.action_mask;
  if ((effective & desired) != desired) {
    return false;
  }
  /* Get filter if any */
  Filter f = filter;
  if (f == null) {
    return super.implies(requested);
  }
  return f.matches(requested.getProperties());
}

代码示例来源:origin: org.wildfly.common/wildfly-common

public boolean equals(final SelectorPermission p) {
  return p != null && (p.actions == actions) && super.equals(p);
}

代码示例来源:origin: apache/servicemix-bundles

@Override
  public PermissionCollection newPermissionCollection() {
    // BasicPermissionCollection only handles wildcards, we expand <<STANDARD>> here
    PermissionCollection impl = super.newPermissionCollection();
    return new PermissionCollection() {
      @Override
      public void add(Permission permission) {
        if (permission instanceof ClassPermission && STANDARD.equals(permission.getName())) {
          for (String clazz : STANDARD_CLASSES) {
            impl.add(new ClassPermission(clazz));
          }
        } else {
          impl.add(permission);
        }
      }

      @Override
      public boolean implies(Permission permission) {
        return impl.implies(permission);
      }

      @Override
      public Enumeration<Permission> elements() {
        return impl.elements();
      }
    };
  }
}

代码示例来源:origin: org.osgi/org.osgi.core

/**
 * Internal implies method. Used by the implies and the permission
 * collection implies methods.
 * 
 * @param requested The requested PackagePermission which has already be
 *        validated as a proper argument. The requested PackagePermission
 *        must not have a filter expression.
 * @param effective The effective actions with which to start.
 * @return {@code true} if the specified permission is implied by this
 *         object; {@code false} otherwise.
 */
boolean implies0(PackagePermission requested, int effective) {
  /* check actions first - much faster */
  effective |= action_mask;
  final int desired = requested.action_mask;
  if ((effective & desired) != desired) {
    return false;
  }
  /* Get filter if any */
  Filter f = filter;
  if (f == null) {
    return super.implies(requested);
  }
  return f.matches(requested.getProperties());
}

代码示例来源:origin: org.jboss.eap/wildfly-client-all

public boolean equals(final SelectorPermission p) {
  return p != null && (p.actions == actions) && super.equals(p);
}

代码示例来源:origin: org.apache.servicemix.bundles/org.apache.servicemix.bundles.elasticsearch

@Override
  public PermissionCollection newPermissionCollection() {
    // BasicPermissionCollection only handles wildcards, we expand <<STANDARD>> here
    PermissionCollection impl = super.newPermissionCollection();
    return new PermissionCollection() {
      @Override
      public void add(Permission permission) {
        if (permission instanceof ClassPermission && STANDARD.equals(permission.getName())) {
          for (String clazz : STANDARD_CLASSES) {
            impl.add(new ClassPermission(clazz));
          }
        } else {
          impl.add(permission);
        }
      }

      @Override
      public boolean implies(Permission permission) {
        return impl.implies(permission);
      }

      @Override
      public Enumeration<Permission> elements() {
        return impl.elements();
      }
    };
  }
}

代码示例来源:origin: org.osgi/org.osgi.core

return ((effective & desired) == desired) && super.implies(requested);

代码示例来源:origin: io.snappydata/gemfirexd

/**
 * Does this permission equal another object.
 * True if its and identical class with same
 * name and (canonical) actions.
 */
public boolean equals(Object other) {
  
  if (!super.equals(other))
    return false;
  
  SystemPermission osp = (SystemPermission) other;
  return getActions().equals(osp.getActions());
}

代码示例来源:origin: harbby/presto-connectors

@Override
  public PermissionCollection newPermissionCollection() {
    // BasicPermissionCollection only handles wildcards, we expand <<STANDARD>> here
    final PermissionCollection impl = super.newPermissionCollection();
    return new PermissionCollection() {
      private static final long serialVersionUID = 6792220143549780002L;
      
      @Override
      public void add(Permission permission) {
        if (permission instanceof ClassPermission && STANDARD.equals(permission.getName())) {
          for (String clazz : STANDARD_CLASSES) {
            impl.add(new ClassPermission(clazz));
          }
        } else {
          impl.add(permission);
        }
      }
      
      @Override
      public boolean implies(Permission permission) {
        return impl.implies(permission);
      }
      
      @Override
      public Enumeration<Permission> elements() {
        return impl.elements();
      }
    };
  }
}

代码示例来源:origin: org.osgi/org.osgi.core

return super.implies(requested);

代码示例来源:origin: io.snappydata/gemfirexd-core

/**
 * Does this permission equal another object.
 * True if its and identical class with same
 * name and (canonical) actions.
 */
public boolean equals(Object other) {
  
  if (!super.equals(other))
    return false;
  
  SystemPermission osp = (SystemPermission) other;
  return getActions().equals(osp.getActions());
}

代码示例来源:origin: org.codelibs/elasticsearch-querybuilders

@Override
  public PermissionCollection newPermissionCollection() {
    // BasicPermissionCollection only handles wildcards, we expand <<STANDARD>> here
    PermissionCollection impl = super.newPermissionCollection();
    return new PermissionCollection() {
      @Override
      public void add(Permission permission) {
        if (permission instanceof ClassPermission && STANDARD.equals(permission.getName())) {
          for (String clazz : STANDARD_CLASSES) {
            impl.add(new ClassPermission(clazz));
          }
        } else {
          impl.add(permission);
        }
      }

      @Override
      public boolean implies(Permission permission) {
        return impl.implies(permission);
      }

      @Override
      public Enumeration<Permission> elements() {
        return impl.elements();
      }
    };
  }
}

代码示例来源:origin: org.osgi/org.osgi.compendium

/**
 * Checks if this {@code WirePermission} object {@code implies} the
 * specified permission.
 * <P>
 * More specifically, this method returns {@code true} if:
 * <p>
 * <ul>
 * <li><i>p</i> is an instanceof the {@code WirePermission} class,</li>
 * <li><i>p</i>'s actions are a proper subset of this object's actions, and</li>
 * <li><i>p</i>'s name is implied by this object's name. For example,
 * {@code java.*} implies {@code java.home}.</li>
 * </ul>
 * 
 * @param p The permission to check against.
 * 
 * @return {@code true} if the specified permission is implied by this
 *         object; {@code false} otherwise.
 */
public boolean implies(Permission p) {
  if (p instanceof WirePermission) {
    WirePermission requested = (WirePermission) p;
    int requestedMask = requested.getActionsMask();
    return ((getActionsMask() & requestedMask) == requestedMask) && super.implies(p);
  }
  return false;
}

代码示例来源:origin: io.snappydata/snappydata-store-core

/**
 * Does this permission equal another object.
 * True if its and identical class with same
 * name and (canonical) actions.
 */
public boolean equals(Object other) {
  
  if (!super.equals(other))
    return false;
  
  SystemPermission osp = (SystemPermission) other;
  return getActions().equals(osp.getActions());
}

相关文章

微信公众号

最新文章

更多