Search in sources :

Example 16 with AccessCheck

use of org.glassfish.api.admin.AccessRequired.AccessCheck in project Payara by payara.

the class GetApplicationLaunchURLsCommand method getAccessChecks.

@Override
public Collection<? extends AccessCheck> getAccessChecks() {
    final List<AccessCheck> accessChecks = new ArrayList<AccessCheck>();
    List<String> targets = domain.getAllReferencedTargetsForApplication(appname);
    for (String target : targets) {
        if (domain.isAppEnabledInTarget(appname, target)) {
            servers = new ArrayList<Server>();
            Cluster cluster = domain.getClusterNamed(target);
            if (cluster != null) {
                servers = cluster.getInstances();
            }
            Server server = domain.getServerNamed(target);
            if (server != null) {
                servers.add(server);
            }
            for (Server svr : servers) {
                accessChecks.add(new AccessCheck(DeploymentCommandUtils.getTargetResourceNameForExistingAppRef(domain, svr.getName(), appname), "read"));
            }
        }
    }
    return accessChecks;
}
Also used : AccessCheck(org.glassfish.api.admin.AccessRequired.AccessCheck) ArrayList(java.util.ArrayList)

Example 17 with AccessCheck

use of org.glassfish.api.admin.AccessRequired.AccessCheck in project Payara by payara.

the class GetHostAndPortCommand method getAccessChecks.

@Override
public Collection<? extends AccessCheck> getAccessChecks() {
    final List<AccessCheck> accessChecks = new ArrayList<AccessCheck>();
    String configName = null;
    Server server = domain.getServerNamed(target);
    if (server != null) {
        configName = server.getConfigRef();
    } else {
        Cluster cluster = domain.getClusterNamed(target);
        if (cluster != null) {
            configName = cluster.getConfigRef();
        }
    }
    config = configs.getConfigByName(configName);
    if (config != null) {
        accessChecks.add(new AccessCheck(AccessRequired.Util.resourceNameFromConfigBeanProxy(config), "read"));
    }
    return accessChecks;
}
Also used : AccessCheck(org.glassfish.api.admin.AccessRequired.AccessCheck) VirtualServer(com.sun.enterprise.config.serverbeans.VirtualServer) Server(com.sun.enterprise.config.serverbeans.Server) ArrayList(java.util.ArrayList) Cluster(com.sun.enterprise.config.serverbeans.Cluster)

Example 18 with AccessCheck

use of org.glassfish.api.admin.AccessRequired.AccessCheck in project Payara by payara.

the class MTProvisionCommand method getAccessChecks.

@Override
public Collection<? extends AccessCheck> getAccessChecks() {
    final List<AccessCheck> accessChecks = new ArrayList<AccessCheck>();
    app = applications.getApplication(appname);
    if (app != null) {
        accessChecks.add(new AccessCheck(AccessRequired.Util.resourceNameFromConfigBeanProxy(app), "provision"));
        appRef = domain.getApplicationRefInTarget(appname, DeploymentUtils.DAS_TARGET_NAME);
        if (appRef != null) {
            accessChecks.add(new AccessCheck(AccessRequired.Util.resourceNameFromConfigBeanProxy(appRef), "provision"));
        }
    }
    return accessChecks;
}
Also used : AccessCheck(org.glassfish.api.admin.AccessRequired.AccessCheck) ArrayList(java.util.ArrayList)

Example 19 with AccessCheck

use of org.glassfish.api.admin.AccessRequired.AccessCheck in project Payara by payara.

the class MTUndeployCommand method getAccessChecks.

@Override
public Collection<? extends AccessCheck> getAccessChecks() {
    final List<AccessCheck> accessChecks = new ArrayList<AccessCheck>();
    app = applications.getApplication(name);
    if (app != null) {
        accessChecks.add(new AccessCheck(AccessRequired.Util.resourceNameFromConfigBeanProxy(app), "read"));
        if (app.getAppTenants() != null) {
            appTenants = app.getAppTenants().getAppTenant();
            for (AppTenant appTenant : appTenants) {
                accessChecks.add(new AccessCheck(AccessRequired.Util.resourceNameFromConfigBeanProxy(appTenant), "delete"));
            }
        }
    }
    return accessChecks;
}
Also used : AccessCheck(org.glassfish.api.admin.AccessRequired.AccessCheck) ArrayList(java.util.ArrayList) AppTenant(com.sun.enterprise.config.serverbeans.AppTenant)

Example 20 with AccessCheck

use of org.glassfish.api.admin.AccessRequired.AccessCheck in project Payara by payara.

the class CommandSecurityChecker method addAccessChecksFromAnno.

private boolean addAccessChecksFromAnno(final Field f, final AdminCommand command, final List<AccessCheckWork> accessChecks, final boolean isTaggable) throws IllegalArgumentException, IllegalAccessException {
    boolean isAnnotated = false;
    f.setAccessible(true);
    final AccessRequired.To arTo = f.getAnnotation(AccessRequired.To.class);
    if (arTo != null) {
        isAnnotated = true;
        final String resourceNameForField = resourceNameFromField(f, command);
        for (final String access : arTo.value()) {
            final AccessCheck a = new AccessCheck(resourceNameForField, access);
            String tag = null;
            if (isTaggable) {
                tag = "  @AccessRequired.To on field " + f.getDeclaringClass().getName() + "#" + f.getName();
            }
            accessChecks.add(new AccessCheckWork(a, tag));
        }
    }
    final AccessRequired.NewChild arNC = f.getAnnotation(AccessRequired.NewChild.class);
    if (arNC != null) {
        isAnnotated = true;
        String resourceNameForField = resourceNameFromNewChildAnno(arNC, f, command);
        for (final String action : arNC.action()) {
            final AccessCheck a = new AccessCheck(resourceNameForField, action);
            String tag = null;
            if (isTaggable) {
                tag = "  @AccessRequired.NewChild on field " + f.getDeclaringClass().getName() + "#" + f.getName();
            }
            accessChecks.add(new AccessCheckWork(a, tag));
        }
    }
    return isAnnotated;
}
Also used : AccessCheck(org.glassfish.api.admin.AccessRequired.AccessCheck)

Aggregations

AccessCheck (org.glassfish.api.admin.AccessRequired.AccessCheck)24 ArrayList (java.util.ArrayList)15 ApplicationRef (com.sun.enterprise.config.serverbeans.ApplicationRef)2 AppTenant (com.sun.enterprise.config.serverbeans.AppTenant)1 Cluster (com.sun.enterprise.config.serverbeans.Cluster)1 Server (com.sun.enterprise.config.serverbeans.Server)1 VirtualServer (com.sun.enterprise.config.serverbeans.VirtualServer)1 InvocationTargetException (java.lang.reflect.InvocationTargetException)1