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

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

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

Group.getUsers介绍

暂无

代码示例

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

@Override
public Set<Group> getUserGroupsForUser(String userId) {
  return userGroupProvider.getGroups().stream()
      .filter(g -> g.getUsers().contains(userId))
      .collect(Collectors.toSet());
}

代码示例来源: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

@Override
  public Set<Group> getGroups(String userIdentity) {
    User user = getUserByIdentity(userIdentity);
    if (user == null) {
      return new HashSet<>();
    } else {
      return groups.stream()
          .filter(g -> g.getUsers().contains(user.getIdentifier()))
          .collect(Collectors.toSet());
    }
  }
};

代码示例来源: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

/**
 * Check that all users in the group exist.
 *
 * @param userGroupProvider the userGroupProvider to use to lookup the users
 * @param group the group whose users will be checked for existence.
 * @return true if another user exists with the same identity, false otherwise
 */
private static boolean allGroupUsersExist(final UserGroupProvider userGroupProvider, final Group group) {
  for (String userIdentifier : group.getUsers()) {
    User user = userGroupProvider.getUser(userIdentifier);
    if (user == null) {
      return false;
    }
  }
  return true;
}

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

@Override
public Set<AccessPolicy> getAccessPoliciesForUser(String userId) {
  return accessPolicyProvider.getAccessPolicies().stream()
      .filter(p -> {
        // policy contains the user
        if (p.getUsers().contains(userId)) {
          return true;
        }
        // policy contains a group with the user
        return !p.getGroups().stream().filter(g -> userGroupProvider.getGroup(g).getUsers().contains(userId)).collect(Collectors.toSet()).isEmpty();
      })
      .collect(Collectors.toSet());
}

代码示例来源: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

/**
 * Extracts the values for the configured properties from the specified user group.
 */
private Map<String, String> extractConfiguredPropertyValues(Group group, UserGroupDTO userGroupDTO) {
  Map<String, String> values = new HashMap<>();
  if (userGroupDTO.getIdentity() != null) {
    values.put(NAME, group.getName());
  }
  if (userGroupDTO.getUsers() != null) {
    // get each of the auto terminated relationship names
    final List<String> currentUsers = new ArrayList<>(group.getUsers());
    // sort them and include in the configuration
    Collections.sort(currentUsers, Collator.getInstance(Locale.US));
    values.put(USERS, StringUtils.join(currentUsers, ", "));
  }
  return values;
}

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

/**
 * Creates a Map from user identity to the set of Groups for that identity.
 *
 * @param groups all groups
 * @param users all users
 * @return a Map from User identity to the set of Groups for that identity
 */
private Map<String, Set<Group>> createGroupsByUserIdentityMap(final Set<Group> groups, final Set<User> users) {
  Map<String, Set<Group>> groupsByUserIdentity = new HashMap<>();
  for (User user : users) {
    Set<Group> userGroups = new HashSet<>();
    for (Group group : groups) {
      for (String groupUser : group.getUsers()) {
        if (groupUser.equals(user.getIdentifier())) {
          userGroups.add(group);
        }
      }
    }
    groupsByUserIdentity.put(user.getIdentity(), userGroups);
  }
  return groupsByUserIdentity;
}

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

/**
 * Creates a Map from user identity to the set of Groups for that identity.
 *
 * @param groups all groups
 * @param users all users
 * @return a Map from User identity to the set of Groups for that identity
 */
private Map<String, Set<Group>> createGroupsByUserIdentityMap(final Set<Group> groups, final Set<User> users) {
  Map<String, Set<Group>> groupsByUserIdentity = new HashMap<>();
  for (User user : users) {
    Set<Group> userGroups = new HashSet<>();
    for (Group group : groups) {
      for (String groupUser : group.getUsers()) {
        if (groupUser.equals(user.getIdentifier())) {
          userGroups.add(group);
        }
      }
    }
    groupsByUserIdentity.put(user.getIdentity(), userGroups);
  }
  return groupsByUserIdentity;
}

代码示例来源: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 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 UserGroupEntity updateUserGroup(final Revision revision, final UserGroupDTO userGroupDTO) {
  final Authorizable userGroupsAuthorizable = authorizableLookup.getTenant();
  final Set<AccessPolicy> policies = userGroupDAO.getAccessPoliciesForUserGroup(userGroupDTO.getId());
  final RevisionUpdate<UserGroupDTO> snapshot = updateComponent(revision,
      userGroupsAuthorizable,
      () -> userGroupDAO.updateUserGroup(userGroupDTO),
      userGroup -> {
        final Set<TenantEntity> tenantEntities = userGroup.getUsers().stream().map(mapUserIdToTenantEntity()).collect(Collectors.toSet());
        final Set<AccessPolicySummaryEntity> policyEntities = policies.stream().map(ap -> createAccessPolicySummaryEntity(ap)).collect(Collectors.toSet());
        return dtoFactory.createUserGroupDto(userGroup, tenantEntities, policyEntities);
      }
  );
  final PermissionsDTO permissions = dtoFactory.createPermissionsDto(userGroupsAuthorizable);
  return entityFactory.createUserGroupEntity(snapshot.getComponent(), dtoFactory.createRevisionDTO(snapshot.getLastModification()), permissions);
}

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

@Override
public UserGroupEntity deleteUserGroup(final Revision revision, final String userGroupId) {
  final Group userGroup = userGroupDAO.getUserGroup(userGroupId);
  final PermissionsDTO permissions = dtoFactory.createPermissionsDto(authorizableLookup.getTenant());
  final Set<TenantEntity> users = userGroup != null ? userGroup.getUsers().stream()
      .map(mapUserIdToTenantEntity()).collect(Collectors.toSet()) : null;
  final Set<AccessPolicySummaryEntity> policyEntities = userGroupDAO.getAccessPoliciesForUserGroup(userGroup.getIdentifier()).stream()
      .map(ap -> createAccessPolicySummaryEntity(ap)).collect(Collectors.toSet());
  final String resourceIdentifier = ResourceFactory.getTenantResource().getIdentifier() + "/" + userGroupId;
  final UserGroupDTO snapshot = deleteComponent(
      revision,
      new Resource() {
        @Override
        public String getIdentifier() {
          return resourceIdentifier;
        }
        @Override
        public String getName() {
          return resourceIdentifier;
        }
        @Override
        public String getSafeDescription() {
          return "User Group " + userGroupId;
        }
      },
      () -> userGroupDAO.deleteUserGroup(userGroupId),
      false, // no user group specific policies to remove
      dtoFactory.createUserGroupDto(userGroup, users, policyEntities));
  return entityFactory.createUserGroupEntity(snapshot, null, 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

for (final UserGroupProvider userGroupProvider : userGroupProviders) {
  for (final Group group : userGroupProvider.getGroups()) {
    if (group.getUsers() != null && group.getUsers().contains(userIdentifier)) {
      compositeUserAndGroups.addGroup(group);

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

@Override
public synchronized Group updateGroup(Group group) throws AuthorizationAccessException {
  if (group == null) {
    throw new IllegalArgumentException("Group cannot be null");
  }
  final UserGroupHolder holder = userGroupHolder.get();
  final Tenants tenants = holder.getTenants();
  // find the group that needs to be update
  org.apache.nifi.authorization.file.tenants.generated.Group updateGroup = null;
  for (org.apache.nifi.authorization.file.tenants.generated.Group jaxbGroup : tenants.getGroups().getGroup()) {
    if (jaxbGroup.getIdentifier().equals(group.getIdentifier())) {
      updateGroup = jaxbGroup;
      break;
    }
  }
  // if the group wasn't found return null, otherwise update the group and save changes
  if (updateGroup == null) {
    return null;
  }
  // reset the list of users and add each user to the group
  updateGroup.getUser().clear();
  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);
    updateGroup.getUser().add(jaxbGroupUser);
  }
  updateGroup.setName(group.getName());
  saveAndRefreshHolder(tenants);
  return userGroupHolder.get().getGroupsById().get(group.getIdentifier());
}

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

if (group.getUsers() != null && group.getUsers().contains(userIdentifier)) {
  combinedResult.addGroup(group);
if (group.getUsers() != null && group.getUsers().contains(userIdentifier)) {
  combinedResult.addGroup(group);

代码示例来源:origin: org.apache.nifi/nifi-mock-authorizer

@Override
  public Set<Group> getGroups(String userIdentity) {
    User user = getUserByIdentity(userIdentity);
    if (user == null) {
      return new HashSet<>();
    } else {
      return groups.stream()
          .filter(g -> g.getUsers().contains(user.getIdentifier()))
          .collect(Collectors.toSet());
    }
  }
};

相关文章

微信公众号

最新文章

更多