当前位置: 首页>>代码示例>>Java>>正文


Java ProtobufUtil.toUserPermission方法代码示例

本文整理汇总了Java中org.apache.hadoop.hbase.protobuf.ProtobufUtil.toUserPermission方法的典型用法代码示例。如果您正苦于以下问题:Java ProtobufUtil.toUserPermission方法的具体用法?Java ProtobufUtil.toUserPermission怎么用?Java ProtobufUtil.toUserPermission使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.apache.hadoop.hbase.protobuf.ProtobufUtil的用法示例。


在下文中一共展示了ProtobufUtil.toUserPermission方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: grant

import org.apache.hadoop.hbase.protobuf.ProtobufUtil; //导入方法依赖的package包/类
@Override
public void grant(RpcController controller,
                  AccessControlProtos.GrantRequest request,
                  RpcCallback<AccessControlProtos.GrantResponse> done) {
  final UserPermission perm = ProtobufUtil.toUserPermission(request.getUserPermission());
  AccessControlProtos.GrantResponse response = null;
  try {
    // verify it's only running at .acl.
    if (aclRegion) {
      if (!initialized) {
        throw new CoprocessorException("AccessController not yet initialized");
      }
      if (LOG.isDebugEnabled()) {
        LOG.debug("Received request to grant access permission " + perm.toString());
      }

      switch(request.getUserPermission().getPermission().getType()) {
        case Global :
        case Table :
          requirePermission("grant", perm.getTableName(), perm.getFamily(),
            perm.getQualifier(), Action.ADMIN);
          break;
        case Namespace :
          requireNamespacePermission("grant", perm.getNamespace(), Action.ADMIN);
         break;
      }

      User.runAsLoginUser(new PrivilegedExceptionAction<Void>() {
        @Override
        public Void run() throws Exception {
          AccessControlLists.addUserPermission(regionEnv.getConfiguration(), perm);
          return null;
        }
      });

      if (AUDITLOG.isTraceEnabled()) {
        // audit log should store permission changes in addition to auth results
        AUDITLOG.trace("Granted permission " + perm.toString());
      }
    } else {
      throw new CoprocessorException(AccessController.class, "This method "
          + "can only execute at " + AccessControlLists.ACL_TABLE_NAME + " table.");
    }
    response = AccessControlProtos.GrantResponse.getDefaultInstance();
  } catch (IOException ioe) {
    // pass exception back up
    ResponseConverter.setControllerException(controller, ioe);
  }
  done.run(response);
}
 
开发者ID:fengchen8086,项目名称:ditb,代码行数:51,代码来源:AccessController.java

示例2: revoke

import org.apache.hadoop.hbase.protobuf.ProtobufUtil; //导入方法依赖的package包/类
@Override
public void revoke(RpcController controller,
                   AccessControlProtos.RevokeRequest request,
                   RpcCallback<AccessControlProtos.RevokeResponse> done) {
  final UserPermission perm = ProtobufUtil.toUserPermission(request.getUserPermission());
  AccessControlProtos.RevokeResponse response = null;
  try {
    // only allowed to be called on _acl_ region
    if (aclRegion) {
      if (!initialized) {
        throw new CoprocessorException("AccessController not yet initialized");
      }
      if (LOG.isDebugEnabled()) {
        LOG.debug("Received request to revoke access permission " + perm.toString());
      }

      switch(request.getUserPermission().getPermission().getType()) {
        case Global :
        case Table :
          requirePermission("revoke", perm.getTableName(), perm.getFamily(),
            perm.getQualifier(), Action.ADMIN);
          break;
        case Namespace :
          requireNamespacePermission("revoke", perm.getNamespace(), Action.ADMIN);
          break;
      }

      User.runAsLoginUser(new PrivilegedExceptionAction<Void>() {
        @Override
        public Void run() throws Exception {
          AccessControlLists.removeUserPermission(regionEnv.getConfiguration(), perm);
          return null;
        }
      });

      if (AUDITLOG.isTraceEnabled()) {
        // audit log should record all permission changes
        AUDITLOG.trace("Revoked permission " + perm.toString());
      }
    } else {
      throw new CoprocessorException(AccessController.class, "This method "
          + "can only execute at " + AccessControlLists.ACL_TABLE_NAME + " table.");
    }
    response = AccessControlProtos.RevokeResponse.getDefaultInstance();
  } catch (IOException ioe) {
    // pass exception back up
    ResponseConverter.setControllerException(controller, ioe);
  }
  done.run(response);
}
 
开发者ID:fengchen8086,项目名称:ditb,代码行数:51,代码来源:AccessController.java


注:本文中的org.apache.hadoop.hbase.protobuf.ProtobufUtil.toUserPermission方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。