コード例 #1
0
  public static PACLPolicy getPACLPolicy() {
    if (!PACLPolicyManager.isActive()) {
      return null;
    }

    SecurityManager securityManager = System.getSecurityManager();

    if (securityManager == null) {
      return null;
    }

    try {
      java.security.Permission permission = new PACLUtil.Permission();

      securityManager.checkPermission(permission);
    } catch (SecurityException se) {
      if (!(se instanceof PACLUtil.Exception)) {
        throw se;
      }

      PACLUtil.Exception paclUtilException = (PACLUtil.Exception) se;

      return paclUtilException.getPaclPolicy();
    }

    return null;
  }
コード例 #2
0
  private static boolean _hasSameOrigin(
      ProtectionDomain protectionDomain,
      PermissionCollection permissionCollection,
      PACLPolicy paclPolicy) {

    PACLPolicy callerPACLPolicy = null;

    if (permissionCollection instanceof PortalPermissionCollection) {
      PortalPermissionCollection portalPermissionCollection =
          (PortalPermissionCollection) permissionCollection;

      callerPACLPolicy = portalPermissionCollection.getPACLPolicy();
    } else {
      callerPACLPolicy = PACLPolicyManager.getPACLPolicy(protectionDomain.getClassLoader());
    }

    if (paclPolicy == callerPACLPolicy) {
      return true;
    }

    return false;
  }