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

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

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

User.getIdentity介绍

暂无

代码示例

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

/**
 * Creates a Map from user identity to User.
 *
 * @param users the set of all users
 * @return the Map from user identity to User
 */
private Map<String,User> createUserByIdentityMap(final Set<User> users) {
  Map<String,User> usersMap = new HashMap<>();
  for (User user : users) {
    usersMap.put(user.getIdentity(), user);
  }
  return usersMap;
}

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

/**
 * Creates a Map from user identity to User.
 *
 * @param users the set of all users
 * @return the Map from user identity to User
 */
private Map<String,User> createUserByIdentityMap(final Set<User> users) {
  Map<String,User> usersMap = new HashMap<>();
  for (User user : users) {
    usersMap.put(user.getIdentity(), user);
  }
  return usersMap;
}

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

@Override
public User getUserByIdentity(String identity) throws AuthorizationAccessException {
  return users.stream().filter(u -> u.getIdentity().equals(identity)).findFirst().get();
}

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

/**
 * Extracts the values for the configured properties from the specified user.
 */
private Map<String, String> extractConfiguredPropertyValues(User user, UserDTO userDTO) {
  Map<String, String> values = new HashMap<>();
  if (userDTO.getIdentity() != null) {
    values.put(IDENTITY, user.getIdentity());
  }
  return values;
}

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

private void writeUser(final XMLStreamWriter writer, final User user) throws XMLStreamException {
  writer.writeStartElement(USER_ELEMENT);
  writer.writeAttribute(IDENTIFIER_ATTR, user.getIdentifier());
  writer.writeAttribute(IDENTITY_ATTR, user.getIdentity());
  writer.writeEndElement();
}

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

private void writeUser(final XMLStreamWriter writer, final User user) throws XMLStreamException {
  writer.writeStartElement(USER_ELEMENT);
  writer.writeAttribute(IDENTIFIER_ATTR, user.getIdentifier());
  writer.writeAttribute(IDENTITY_ATTR, user.getIdentity());
  writer.writeEndElement();
}

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

@Override
public String toString() {
  return String.format("identifier[%s], identity[%s]", getIdentifier(), getIdentity());
}

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

/**
 * Initializes the builder with the state of the provided user. 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 user to initialize from
 */
public Builder(final User other) {
  if (other == null) {
    throw new IllegalArgumentException("Provided user can not be null");
  }
  this.identifier = other.getIdentifier();
  this.identity = other.getIdentity();
  this.fromUser = true;
}

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

/**
 * Checks if another tenant (user or group) exists with the same identity.
 *
 * @param userGroupProvider the userGroupProvider to use to lookup the tenant
 * @param identifier identity of the tenant
 * @param identity identity of the tenant
 * @return true if another tenant exists with the same identity, false otherwise
 */
private static boolean tenantExists(final UserGroupProvider userGroupProvider, final String identifier, final String identity) {
  for (User user : userGroupProvider.getUsers()) {
    if (!user.getIdentifier().equals(identifier)
        && user.getIdentity().equals(identity)) {
      return true;
    }
  }
  for (Group group : userGroupProvider.getGroups()) {
    if (!group.getIdentifier().equals(identifier)
        && group.getName().equals(identity)) {
      return true;
    }
  }
  return false;
}

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

private org.apache.nifi.authorization.file.tenants.generated.User createJAXBUser(User user) {
  final org.apache.nifi.authorization.file.tenants.generated.User jaxbUser = new org.apache.nifi.authorization.file.tenants.generated.User();
  jaxbUser.setIdentifier(user.getIdentifier());
  jaxbUser.setIdentity(user.getIdentity());
  return jaxbUser;
}

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

@Override
public synchronized User updateUser(User user) throws AuthorizationAccessException {
  if (user == null) {
    throw new IllegalArgumentException("User cannot be null");
  }
  final UserGroupHolder holder = userGroupHolder.get();
  final Tenants tenants = holder.getTenants();
  final List<org.apache.nifi.authorization.file.tenants.generated.User> users = tenants.getUsers().getUser();
  // fine the User that needs to be updated
  org.apache.nifi.authorization.file.tenants.generated.User updateUser = null;
  for (org.apache.nifi.authorization.file.tenants.generated.User jaxbUser : users) {
    if (user.getIdentifier().equals(jaxbUser.getIdentifier())) {
      updateUser = jaxbUser;
      break;
    }
  }
  // if user wasn't found return null, otherwise update the user and save changes
  if (updateUser == null) {
    return null;
  } else {
    updateUser.setIdentity(user.getIdentity());
    saveAndRefreshHolder(tenants);
    return userGroupHolder.get().getUsersById().get(user.getIdentifier());
  }
}

代码示例来源: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()));
    }
  }
}

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

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

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

@Override
public final AuthorizationResult authorize(AuthorizationRequest request) throws AuthorizationAccessException {
  final UsersAndAccessPolicies usersAndAccessPolicies = getUsersAndAccessPolicies();
  final String resourceIdentifier = request.getResource().getIdentifier();
  final AccessPolicy policy = usersAndAccessPolicies.getAccessPolicy(resourceIdentifier, request.getAction());
  if (policy == null) {
    return AuthorizationResult.resourceNotFound();
  }
  final User user = usersAndAccessPolicies.getUser(request.getIdentity());
  if (user == null) {
    return AuthorizationResult.denied(String.format("Unknown user with identity '%s'.", request.getIdentity()));
  }
  final Set<Group> userGroups = usersAndAccessPolicies.getGroups(user.getIdentity());
  if (policy.getUsers().contains(user.getIdentifier()) || containsGroup(userGroups, policy)) {
    return AuthorizationResult.approved();
  }
  return AuthorizationResult.denied(request.getExplanationSupplier().get());
}

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

configurationAction.setTimestamp(actionTimestamp);
configurationAction.setSourceId(user.getIdentifier());
configurationAction.setSourceName(user.getIdentity());
configurationAction.setSourceType(Component.User);
configurationAction.setActionDetails(actionDetails);

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

/**
 * Creates a {@link UserDTO} from the specified {@link User}.
 *
 * @param user user
 * @return dto
 */
public UserDTO createUserDto(final User user, final Set<TenantEntity> groups, final Set<AccessPolicySummaryEntity> accessPolicies) {
  if (user == null) {
    return null;
  }
  final UserDTO dto = new UserDTO();
  dto.setId(user.getIdentifier());
  dto.setUserGroups(groups);
  dto.setIdentity(user.getIdentity());
  dto.setConfigurable(AuthorizerCapabilityDetection.isUserConfigurable(authorizer, user));
  dto.setAccessPolicies(accessPolicies);
  return dto;
}

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

/**
 * Generates an audit record for the creation of a user.
 *
 * @param user user
 * @param operation operation
 * @param actionDetails details
 * @return action
 */
public Action generateAuditRecord(User user, Operation operation, ActionDetails actionDetails) {
  FlowChangeAction action = null;
  // get the current user
  NiFiUser niFiUser = NiFiUserUtils.getNiFiUser();
  // ensure the user was found
  if (niFiUser != null) {
    // create the user action for adding this user
    action = new FlowChangeAction();
    action.setUserIdentity(niFiUser.getIdentity());
    action.setOperation(operation);
    action.setTimestamp(new Date());
    action.setSourceId(user.getIdentifier());
    action.setSourceName(user.getIdentity());
    action.setSourceType(Component.User);
    if (actionDetails != null) {
      action.setActionDetails(actionDetails);
    }
  }
  return action;
}

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

throw new AuthorizerCreationException("Unable to locate node " + nodeIdentity + " to seed policies.");
logger.debug("Populating default authorizations for node '{}' ({})", node.getIdentity(), node.getIdentifier());

相关文章

微信公众号

最新文章

更多