org.apache.accumulo.server.security.handler.ZKSecurityTool.convertSystemPermissions()方法的使用及代码示例

x33g5p2x  于2022-02-05 转载在 其他  
字(10.4k)|赞(0)|评价(0)|浏览(111)

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

ZKSecurityTool.convertSystemPermissions介绍

暂无

代码示例

代码示例来源:origin: apache/accumulo

@Override
public boolean hasCachedSystemPermission(String user, SystemPermission permission) {
 byte[] perms = zooCache.get(ZKUserPath + "/" + user + ZKUserSysPerms);
 if (perms == null)
  return false;
 return ZKSecurityTool.convertSystemPermissions(perms).contains(permission);
}

代码示例来源:origin: apache/accumulo

@Override
public void revokeSystemPermission(String user, SystemPermission permission)
  throws AccumuloSecurityException {
 byte[] sysPermBytes = zooCache.get(ZKUserPath + "/" + user + ZKUserSysPerms);
 // User had no system permission, nothing to revoke.
 if (sysPermBytes == null)
  return;
 Set<SystemPermission> sysPerms = ZKSecurityTool.convertSystemPermissions(sysPermBytes);
 try {
  if (sysPerms.remove(permission)) {
   synchronized (zooCache) {
    zooCache.clear();
    zoo.putPersistentData(ZKUserPath + "/" + user + ZKUserSysPerms,
      ZKSecurityTool.convertSystemPermissions(sysPerms), NodeExistsPolicy.OVERWRITE);
   }
  }
 } catch (KeeperException e) {
  log.error("{}", e.getMessage(), e);
  throw new AccumuloSecurityException(user, SecurityErrorCode.CONNECTION_ERROR, e);
 } catch (InterruptedException e) {
  log.error("{}", e.getMessage(), e);
  throw new RuntimeException(e);
 }
}

代码示例来源:origin: apache/accumulo

ZKSecurityTool.convertSystemPermissions(rootPerms), NodeExistsPolicy.FAIL);
for (Entry<Table.ID,Set<TablePermission>> entry : tablePerms.entrySet())
 createTablePerm(rootuser, entry.getKey(), entry.getValue());

代码示例来源:origin: apache/accumulo

@Override
public boolean hasSystemPermission(String user, SystemPermission permission) {
 byte[] perms;
 try {
  String path = ZKUserPath + "/" + user + ZKUserSysPerms;
  zoo.sync(path);
  perms = zoo.getData(path, null);
 } catch (KeeperException e) {
  if (e.code() == Code.NONODE) {
   return false;
  }
  log.warn("Unhandled KeeperException, failing closed for table permission check", e);
  return false;
 } catch (InterruptedException e) {
  log.warn("Unhandled InterruptedException, failing closed for table permission check", e);
  return false;
 }
 if (perms == null)
  return false;
 return ZKSecurityTool.convertSystemPermissions(perms).contains(permission);
}

代码示例来源:origin: apache/accumulo

@Override
public void grantSystemPermission(String user, SystemPermission permission)
  throws AccumuloSecurityException {
 try {
  byte[] permBytes = zooCache.get(ZKUserPath + "/" + user + ZKUserSysPerms);
  Set<SystemPermission> perms;
  if (permBytes == null) {
   perms = new TreeSet<>();
  } else {
   perms = ZKSecurityTool.convertSystemPermissions(permBytes);
  }
  if (perms.add(permission)) {
   synchronized (zooCache) {
    zooCache.clear();
    zoo.putPersistentData(ZKUserPath + "/" + user + ZKUserSysPerms,
      ZKSecurityTool.convertSystemPermissions(perms), NodeExistsPolicy.OVERWRITE);
   }
  }
 } catch (KeeperException e) {
  log.error("{}", e.getMessage(), e);
  throw new AccumuloSecurityException(user, SecurityErrorCode.CONNECTION_ERROR, e);
 } catch (InterruptedException e) {
  log.error("{}", e.getMessage(), e);
  throw new RuntimeException(e);
 }
}

代码示例来源:origin: org.apache.accumulo/accumulo-server-base

@Override
public boolean hasCachedSystemPermission(String user, SystemPermission permission)
  throws AccumuloSecurityException {
 byte[] perms = zooCache.get(ZKUserPath + "/" + user + ZKUserSysPerms);
 if (perms == null)
  return false;
 return ZKSecurityTool.convertSystemPermissions(perms).contains(permission);
}

代码示例来源:origin: org.apache.accumulo/accumulo-server

@Override
public boolean hasCachedSystemPermission(String user, SystemPermission permission) throws AccumuloSecurityException {
 byte[] perms = zooCache.get(ZKUserPath + "/" + user + ZKUserSysPerms);
 if (perms == null)
  return false;
 return ZKSecurityTool.convertSystemPermissions(perms).contains(permission);
}

代码示例来源:origin: org.apache.accumulo/accumulo-server

@Override
public void revokeSystemPermission(String user, SystemPermission permission) throws AccumuloSecurityException {
 byte[] sysPermBytes = zooCache.get(ZKUserPath + "/" + user + ZKUserSysPerms);
 // User had no system permission, nothing to revoke.
 if (sysPermBytes == null)
  return;
 Set<SystemPermission> sysPerms = ZKSecurityTool.convertSystemPermissions(sysPermBytes);
 try {
  if (sysPerms.remove(permission)) {
   synchronized (zooCache) {
    zooCache.clear();
    ZooReaderWriter.getRetryingInstance().putPersistentData(ZKUserPath + "/" + user + ZKUserSysPerms, ZKSecurityTool.convertSystemPermissions(sysPerms),
      NodeExistsPolicy.OVERWRITE);
   }
  }
 } catch (KeeperException e) {
  log.error(e, e);
  throw new AccumuloSecurityException(user, SecurityErrorCode.CONNECTION_ERROR, e);
 } catch (InterruptedException e) {
  log.error(e, e);
  throw new RuntimeException(e);
 }
}

代码示例来源:origin: org.apache.accumulo/accumulo-server

@Override
public void grantSystemPermission(String user, SystemPermission permission) throws AccumuloSecurityException {
 try {
  byte[] permBytes = zooCache.get(ZKUserPath + "/" + user + ZKUserSysPerms);
  Set<SystemPermission> perms;
  if (permBytes == null) {
   perms = new TreeSet<SystemPermission>();
  } else {
   perms = ZKSecurityTool.convertSystemPermissions(permBytes);
  }
  if (perms.add(permission)) {
   synchronized (zooCache) {
    zooCache.clear();
    ZooReaderWriter.getRetryingInstance().putPersistentData(ZKUserPath + "/" + user + ZKUserSysPerms, ZKSecurityTool.convertSystemPermissions(perms),
      NodeExistsPolicy.OVERWRITE);
   }
  }
 } catch (KeeperException e) {
  log.error(e, e);
  throw new AccumuloSecurityException(user, SecurityErrorCode.CONNECTION_ERROR, e);
 } catch (InterruptedException e) {
  log.error(e, e);
  throw new RuntimeException(e);
 }
}

代码示例来源:origin: org.apache.accumulo/accumulo-server-base

ZKSecurityTool.convertSystemPermissions(rootPerms), NodeExistsPolicy.FAIL);
for (Entry<String,Set<TablePermission>> entry : tablePerms.entrySet())
 createTablePerm(rootuser, entry.getKey(), entry.getValue());

代码示例来源:origin: org.apache.accumulo/accumulo-server-base

@Override
public void grantSystemPermission(String user, SystemPermission permission)
  throws AccumuloSecurityException {
 try {
  byte[] permBytes = zooCache.get(ZKUserPath + "/" + user + ZKUserSysPerms);
  Set<SystemPermission> perms;
  if (permBytes == null) {
   perms = new TreeSet<>();
  } else {
   perms = ZKSecurityTool.convertSystemPermissions(permBytes);
  }
  if (perms.add(permission)) {
   synchronized (zooCache) {
    zooCache.clear();
    ZooReaderWriter.getInstance().putPersistentData(ZKUserPath + "/" + user + ZKUserSysPerms,
      ZKSecurityTool.convertSystemPermissions(perms), NodeExistsPolicy.OVERWRITE);
   }
  }
 } catch (KeeperException e) {
  log.error("{}", e.getMessage(), e);
  throw new AccumuloSecurityException(user, SecurityErrorCode.CONNECTION_ERROR, e);
 } catch (InterruptedException e) {
  log.error("{}", e.getMessage(), e);
  throw new RuntimeException(e);
 }
}

代码示例来源:origin: org.apache.accumulo/accumulo-server

@Override
public void initializeSecurity(TCredentials itw, String rootuser) throws AccumuloSecurityException {
 IZooReaderWriter zoo = ZooReaderWriter.getRetryingInstance();
 // create the root user with all system privileges, no table privileges, and no record-level authorizations
 Set<SystemPermission> rootPerms = new TreeSet<SystemPermission>();
 for (SystemPermission p : SystemPermission.values())
  rootPerms.add(p);
 Map<String,Set<TablePermission>> tablePerms = new HashMap<String,Set<TablePermission>>();
 // Allow the root user to flush the !METADATA table
 tablePerms.put(Constants.METADATA_TABLE_ID, Collections.singleton(TablePermission.ALTER_TABLE));
 try {
  // prep parent node of users with root username
  if (!zoo.exists(ZKUserPath))
   zoo.putPersistentData(ZKUserPath, rootuser.getBytes(UTF_8), NodeExistsPolicy.FAIL);
  initUser(rootuser);
  zoo.putPersistentData(ZKUserPath + "/" + rootuser + ZKUserSysPerms, ZKSecurityTool.convertSystemPermissions(rootPerms), NodeExistsPolicy.FAIL);
  for (Entry<String,Set<TablePermission>> entry : tablePerms.entrySet())
   createTablePerm(rootuser, entry.getKey(), entry.getValue());
 } catch (KeeperException e) {
  log.error(e, e);
  throw new RuntimeException(e);
 } catch (InterruptedException e) {
  log.error(e, e);
  throw new RuntimeException(e);
 }
}

代码示例来源:origin: org.apache.accumulo/accumulo-server-base

@Override
public void revokeSystemPermission(String user, SystemPermission permission)
  throws AccumuloSecurityException {
 byte[] sysPermBytes = zooCache.get(ZKUserPath + "/" + user + ZKUserSysPerms);
 // User had no system permission, nothing to revoke.
 if (sysPermBytes == null)
  return;
 Set<SystemPermission> sysPerms = ZKSecurityTool.convertSystemPermissions(sysPermBytes);
 try {
  if (sysPerms.remove(permission)) {
   synchronized (zooCache) {
    zooCache.clear();
    ZooReaderWriter.getInstance().putPersistentData(ZKUserPath + "/" + user + ZKUserSysPerms,
      ZKSecurityTool.convertSystemPermissions(sysPerms), NodeExistsPolicy.OVERWRITE);
   }
  }
 } catch (KeeperException e) {
  log.error("{}", e.getMessage(), e);
  throw new AccumuloSecurityException(user, SecurityErrorCode.CONNECTION_ERROR, e);
 } catch (InterruptedException e) {
  log.error("{}", e.getMessage(), e);
  throw new RuntimeException(e);
 }
}

代码示例来源:origin: org.apache.accumulo/accumulo-server

@Override
public boolean hasSystemPermission(String user, SystemPermission permission) throws AccumuloSecurityException {
 byte[] perms;
 try {
  String path = ZKUserPath + "/" + user + ZKUserSysPerms;
  ZooReaderWriter.getRetryingInstance().sync(path);
  perms = ZooReaderWriter.getRetryingInstance().getData(path, null);
 } catch (KeeperException e) {
  if (e.code() == Code.NONODE) {
   return false;
  }
  log.warn("Unhandled KeeperException, failing closed for table permission check", e);
  return false;
 } catch (InterruptedException e) {
  log.warn("Unhandled InterruptedException, failing closed for table permission check", e);
  return false;
 }
 if (perms == null)
  return false;
 return ZKSecurityTool.convertSystemPermissions(perms).contains(permission);
}

代码示例来源:origin: org.apache.accumulo/accumulo-server-base

@Override
public boolean hasSystemPermission(String user, SystemPermission permission)
  throws AccumuloSecurityException {
 byte[] perms;
 try {
  String path = ZKUserPath + "/" + user + ZKUserSysPerms;
  ZooReaderWriter.getInstance().sync(path);
  perms = ZooReaderWriter.getInstance().getData(path, null);
 } catch (KeeperException e) {
  if (e.code() == Code.NONODE) {
   return false;
  }
  log.warn("Unhandled KeeperException, failing closed for table permission check", e);
  return false;
 } catch (InterruptedException e) {
  log.warn("Unhandled InterruptedException, failing closed for table permission check", e);
  return false;
 }
 if (perms == null)
  return false;
 return ZKSecurityTool.convertSystemPermissions(perms).contains(permission);
}

相关文章