org.apache.nifi.authorization.Group.getIdentifier()方法的使用及代码示例

x33g5p2x  于2022-01-20 转载在 其他  
字(12.7k)|赞(0)|评价(0)|浏览(119)

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

Group.getIdentifier介绍

暂无

代码示例

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

/**
 * Creates a Map from group identifier to Group.
 *
 * @param groups the set of all groups
 * @return the Map from group identifier to Group
 */
private Map<String,Group> createGroupByIdMap(final Set<Group> groups) {
  Map<String,Group> groupsMap = new HashMap<>();
  for (Group group : groups) {
    groupsMap.put(group.getIdentifier(), group);
  }
  return groupsMap;
}

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

/**
 * Creates a Map from group identifier to Group.
 *
 * @param groups the set of all groups
 * @return the Map from group identifier to Group
 */
private Map<String,Group> createGroupByIdMap(final Set<Group> groups) {
  Map<String,Group> groupsMap = new HashMap<>();
  for (Group group : groups) {
    groupsMap.put(group.getIdentifier(), group);
  }
  return groupsMap;
}

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

@Override
public Group getGroup(String identifier) throws AuthorizationAccessException {
  return groups.stream().filter(g -> g.getIdentifier().equals(identifier)).findFirst().get();
}

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

/**
 * Determines whether the specified group is configurable. Provides the opportunity for a ConfigurableUserGroupProvider to prevent
 * editing of a specific group. By default, all known groups are configurable.
 *
 * @param group the group
 * @return is configurable
 */
default boolean isConfigurable(Group group) {
  if (group == null) {
    throw new IllegalArgumentException("Group cannot be null");
  }
  return getGroup(group.getIdentifier()) != null;
}

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

@Override
public String toString() {
  return String.format("identifier[%s], name[%s], users[%s]", getIdentifier(), getName(), String.join(", ", users));
}

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

private void writeGroup(final XMLStreamWriter writer, final Group group) throws XMLStreamException {
  List<String> users = new ArrayList<>(group.getUsers());
  Collections.sort(users);
  writer.writeStartElement(GROUP_ELEMENT);
  writer.writeAttribute(IDENTIFIER_ATTR, group.getIdentifier());
  writer.writeAttribute(NAME_ATTR, group.getName());
  for (String user : users) {
    writer.writeStartElement(GROUP_USER_ELEMENT);
    writer.writeAttribute(IDENTIFIER_ATTR, user);
    writer.writeEndElement();
  }
  writer.writeEndElement();
}

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

private void writeGroup(final XMLStreamWriter writer, final Group group) throws XMLStreamException {
  List<String> users = new ArrayList<>(group.getUsers());
  Collections.sort(users);
  writer.writeStartElement(GROUP_ELEMENT);
  writer.writeAttribute(IDENTIFIER_ATTR, group.getIdentifier());
  writer.writeAttribute(NAME_ATTR, group.getName());
  for (String user : users) {
    writer.writeStartElement(GROUP_USER_ELEMENT);
    writer.writeAttribute(IDENTIFIER_ATTR, user);
    writer.writeEndElement();
  }
  writer.writeEndElement();
}

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

/**
 * Initializes the builder with the state of the provided group. When using this constructor
 * the identifier field of the builder can not be changed and will result in an IllegalStateException
 * if attempting to do so.
 *
 * @param other the existing access policy to initialize from
 */
public Builder(final Group other) {
  if (other == null) {
    throw new IllegalArgumentException("Provided group can not be null");
  }
  this.identifier = other.getIdentifier();
  this.name = other.getName();
  this.users.clear();
  this.users.addAll(other.getUsers());
  this.fromGroup = true;
}

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

/**
 * Determines if the policy contains one of the user's groups.
 *
 * @param userGroups the set of the user's groups
 * @param policy the policy
 * @return true if one of the Groups in userGroups is contained in the policy
 */
private boolean containsGroup(final Set<Group> userGroups, final AccessPolicy policy) {
  if (userGroups.isEmpty() || policy.getGroups().isEmpty()) {
    return false;
  }
  for (Group userGroup : userGroups) {
    if (policy.getGroups().contains(userGroup.getIdentifier())) {
      return true;
    }
  }
  return false;
}

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

/**
 * Determines if the policy contains one of the user's groups.
 *
 * @param userGroups the set of the user's groups
 * @param policy the policy
 * @return true if one of the Groups in userGroups is contained in the policy
 */
private boolean containsGroup(final Set<Group> userGroups, final AccessPolicy policy) {
  if (userGroups == null || userGroups.isEmpty() || policy.getGroups().isEmpty()) {
    return false;
  }
  for (Group userGroup : userGroups) {
    if (policy.getGroups().contains(userGroup.getIdentifier())) {
      return true;
    }
  }
  return false;
}

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

private UserGroupEntity createUserGroupEntity(final Group userGroup) {
  final RevisionDTO userGroupRevision = dtoFactory.createRevisionDTO(revisionManager.getRevision(userGroup.getIdentifier()));
  final PermissionsDTO permissions = dtoFactory.createPermissionsDto(authorizableLookup.getTenant());
  final Set<TenantEntity> users = userGroup.getUsers().stream().map(mapUserIdToTenantEntity()).collect(Collectors.toSet());
  final Set<AccessPolicySummaryEntity> policyEntities = userGroupDAO.getAccessPoliciesForUserGroup(userGroup.getIdentifier()).stream()
      .map(ap -> createAccessPolicySummaryEntity(ap)).collect(Collectors.toSet());
  return entityFactory.createUserGroupEntity(dtoFactory.createUserGroupDto(userGroup, users, policyEntities), userGroupRevision, permissions);
}

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

@Override
public synchronized Group deleteGroup(Group group) throws AuthorizationAccessException {
  final UserGroupHolder holder = userGroupHolder.get();
  final Tenants tenants = holder.getTenants();
  final List<org.apache.nifi.authorization.file.tenants.generated.Group> groups = tenants.getGroups().getGroup();
  // now remove the actual group from the top-level list of groups
  boolean removedGroup = false;
  Iterator<org.apache.nifi.authorization.file.tenants.generated.Group> iter = groups.iterator();
  while (iter.hasNext()) {
    org.apache.nifi.authorization.file.tenants.generated.Group jaxbGroup = iter.next();
    if (group.getIdentifier().equals(jaxbGroup.getIdentifier())) {
      iter.remove();
      removedGroup = true;
      break;
    }
  }
  if (removedGroup) {
    saveAndRefreshHolder(tenants);
    return group;
  } else {
    return null;
  }
}

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

@Override
public UserGroupEntity createUserGroup(final Revision revision, final UserGroupDTO userGroupDTO) {
  final String creator = NiFiUserUtils.getNiFiUserIdentity();
  final Group newUserGroup = userGroupDAO.createUserGroup(userGroupDTO);
  final Set<TenantEntity> tenantEntities = newUserGroup.getUsers().stream().map(mapUserIdToTenantEntity()).collect(Collectors.toSet());
  final Set<AccessPolicySummaryEntity> policyEntities = userGroupDAO.getAccessPoliciesForUserGroup(newUserGroup.getIdentifier()).stream()
      .map(ap -> createAccessPolicySummaryEntity(ap)).collect(Collectors.toSet());
  final UserGroupDTO newUserGroupDto = dtoFactory.createUserGroupDto(newUserGroup, tenantEntities, policyEntities);
  final PermissionsDTO permissions = dtoFactory.createPermissionsDto(authorizableLookup.getTenant());
  return entityFactory.createUserGroupEntity(newUserGroupDto, dtoFactory.createRevisionDTO(new FlowModification(revision, creator)), permissions);
}

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

@Override
public Group updateUserGroup(final UserGroupDTO userGroupDTO) {
  if (userGroupProvider instanceof ConfigurableUserGroupProvider) {
    final ConfigurableUserGroupProvider configurableUserGroupProvider = (ConfigurableUserGroupProvider) userGroupProvider;
    return configurableUserGroupProvider.updateGroup(buildUserGroup(getUserGroup(userGroupDTO.getId()).getIdentifier(), userGroupDTO));
  } else {
    throw new IllegalStateException(MSG_NON_CONFIGURABLE_USERS);
  }
}

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

@Override
public UserEntity createUser(final Revision revision, final UserDTO userDTO) {
  final String creator = NiFiUserUtils.getNiFiUserIdentity();
  final User newUser = userDAO.createUser(userDTO);
  final Set<TenantEntity> tenantEntities = userGroupDAO.getUserGroupsForUser(newUser.getIdentifier()).stream()
      .map(g -> g.getIdentifier()).map(mapUserGroupIdToTenantEntity()).collect(Collectors.toSet());
  final Set<AccessPolicySummaryEntity> policyEntities = userGroupDAO.getAccessPoliciesForUser(newUser.getIdentifier()).stream()
      .map(ap -> createAccessPolicySummaryEntity(ap)).collect(Collectors.toSet());
  final UserDTO newUserDto = dtoFactory.createUserDto(newUser, tenantEntities, policyEntities);
  final PermissionsDTO permissions = dtoFactory.createPermissionsDto(authorizableLookup.getTenant());
  return entityFactory.createUserEntity(newUserDto, dtoFactory.createRevisionDTO(new FlowModification(revision, creator)), permissions);
}

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

private UserEntity createUserEntity(final User user) {
  final RevisionDTO userRevision = dtoFactory.createRevisionDTO(revisionManager.getRevision(user.getIdentifier()));
  final PermissionsDTO permissions = dtoFactory.createPermissionsDto(authorizableLookup.getTenant());
  final Set<TenantEntity> userGroups = userGroupDAO.getUserGroupsForUser(user.getIdentifier()).stream()
      .map(g -> g.getIdentifier()).map(mapUserGroupIdToTenantEntity()).collect(Collectors.toSet());
  final Set<AccessPolicySummaryEntity> policyEntities = userGroupDAO.getAccessPoliciesForUser(user.getIdentifier()).stream()
      .map(ap -> createAccessPolicySummaryEntity(ap)).collect(Collectors.toSet());
  return entityFactory.createUserEntity(dtoFactory.createUserDto(user, userGroups, policyEntities), userRevision, permissions);
}

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

@Override
public UserEntity updateUser(final Revision revision, final UserDTO userDTO) {
  final Authorizable usersAuthorizable = authorizableLookup.getTenant();
  final Set<Group> groups = userGroupDAO.getUserGroupsForUser(userDTO.getId());
  final Set<AccessPolicy> policies = userGroupDAO.getAccessPoliciesForUser(userDTO.getId());
  final RevisionUpdate<UserDTO> snapshot = updateComponent(revision,
      usersAuthorizable,
      () -> userDAO.updateUser(userDTO),
      user -> {
        final Set<TenantEntity> tenantEntities = groups.stream().map(g -> g.getIdentifier()).map(mapUserGroupIdToTenantEntity()).collect(Collectors.toSet());
        final Set<AccessPolicySummaryEntity> policyEntities = policies.stream().map(ap -> createAccessPolicySummaryEntity(ap)).collect(Collectors.toSet());
        return dtoFactory.createUserDto(user, tenantEntities, policyEntities);
      });
  final PermissionsDTO permissions = dtoFactory.createPermissionsDto(usersAuthorizable);
  return entityFactory.createUserEntity(snapshot.getComponent(), dtoFactory.createRevisionDTO(snapshot.getLastModification()), permissions);
}

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

@Override
public synchronized Group addGroup(Group group) throws AuthorizationAccessException {
  if (group == null) {
    throw new IllegalArgumentException("Group cannot be null");
  }
  final UserGroupHolder holder = userGroupHolder.get();
  final Tenants tenants = holder.getTenants();
  // create a new JAXB Group based on the incoming Group
  final org.apache.nifi.authorization.file.tenants.generated.Group jaxbGroup = new org.apache.nifi.authorization.file.tenants.generated.Group();
  jaxbGroup.setIdentifier(group.getIdentifier());
  jaxbGroup.setName(group.getName());
  // add each user to the group
  for (String groupUser : group.getUsers()) {
    org.apache.nifi.authorization.file.tenants.generated.Group.User jaxbGroupUser = new org.apache.nifi.authorization.file.tenants.generated.Group.User();
    jaxbGroupUser.setIdentifier(groupUser);
    jaxbGroup.getUser().add(jaxbGroupUser);
  }
  tenants.getGroups().getGroup().add(jaxbGroup);
  saveAndRefreshHolder(tenants);
  return userGroupHolder.get().getGroupsById().get(group.getIdentifier());
}

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

/**
 * Creates a {@link TenantDTO} from the specified {@link User}.
 *
 * @param userGroup user
 * @return dto
 */
public TenantDTO createTenantDTO(Group userGroup) {
  if (userGroup == null) {
    return null;
  }
  final TenantDTO dto = new TenantDTO();
  dto.setId(userGroup.getIdentifier());
  dto.setIdentity(userGroup.getName());
  dto.setConfigurable(AuthorizerCapabilityDetection.isGroupConfigurable(authorizer, userGroup));
  return dto;
}

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

@Override
public void onConfigured(AuthorizerConfigurationContext configurationContext) throws AuthorizerCreationException {
  baseManagedAuthorizer.onConfigured(configurationContext);
  final AccessPolicyProvider accessPolicyProvider = baseManagedAuthorizer.getAccessPolicyProvider();
  final UserGroupProvider userGroupProvider = accessPolicyProvider.getUserGroupProvider();
  // ensure that only one policy per resource-action exists
  for (AccessPolicy accessPolicy : accessPolicyProvider.getAccessPolicies()) {
    if (policyExists(accessPolicyProvider, accessPolicy)) {
      throw new AuthorizerCreationException(String.format("Found multiple policies for '%s' with '%s'.", accessPolicy.getResource(), accessPolicy.getAction()));
    }
  }
  // ensure that only one group exists per identity
  for (User user : userGroupProvider.getUsers()) {
    if (tenantExists(userGroupProvider, user.getIdentifier(), user.getIdentity())) {
      throw new AuthorizerCreationException(String.format("Found multiple users/user groups with identity '%s'.", user.getIdentity()));
    }
  }
  // ensure that only one group exists per identity
  for (Group group : userGroupProvider.getGroups()) {
    if (tenantExists(userGroupProvider, group.getIdentifier(), group.getName())) {
      throw new AuthorizerCreationException(String.format("Found multiple users/user groups with name '%s'.", group.getName()));
    }
  }
}

相关文章

微信公众号

最新文章

更多