Search in sources :

Example 1 with Policies

use of org.apache.nifi.registry.security.authorization.file.generated.Policies in project nifi-registry by apache.

the class FileAccessPolicyProvider method load.

/**
 * Loads the authorizations file and populates the AuthorizationsHolder, only called during start-up.
 *
 * @throws JAXBException            Unable to reload the authorized users file
 */
private synchronized void load() throws JAXBException, SAXException {
    // attempt to unmarshal
    final Authorizations authorizations = unmarshallAuthorizations();
    if (authorizations.getPolicies() == null) {
        authorizations.setPolicies(new Policies());
    }
    final AuthorizationsHolder authorizationsHolder = new AuthorizationsHolder(authorizations);
    final boolean emptyAuthorizations = authorizationsHolder.getAllPolicies().isEmpty();
    final boolean hasInitialAdminIdentity = (initialAdminIdentity != null && !StringUtils.isBlank(initialAdminIdentity));
    final boolean hasNiFiIdentities = (nifiIdentities != null && !nifiIdentities.isEmpty());
    // if we are starting fresh then we might need to populate an initial admin
    if (emptyAuthorizations) {
        if (hasInitialAdminIdentity) {
            logger.info("Populating authorizations for Initial Admin: " + initialAdminIdentity);
            populateInitialAdmin(authorizations);
        }
        if (hasNiFiIdentities) {
            logger.info("Populating proxy authorizations for NiFi clients: [{}]", StringUtils.join(nifiIdentities, ";"));
            populateNiFiIdentities(authorizations);
        }
        saveAndRefreshHolder(authorizations);
    } else {
        this.authorizationsHolder.set(authorizationsHolder);
    }
}
Also used : Authorizations(org.apache.nifi.registry.security.authorization.file.generated.Authorizations) Policies(org.apache.nifi.registry.security.authorization.file.generated.Policies)

Aggregations

Authorizations (org.apache.nifi.registry.security.authorization.file.generated.Authorizations)1 Policies (org.apache.nifi.registry.security.authorization.file.generated.Policies)1