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;
}
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;
}
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;
}
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;
}
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;
}
Aggregations