use of org.apache.directory.fortress.core.model.Session in project directory-fortress-core by apache.
the class DelAccessMgrRestImpl method canGrant.
/**
* {@inheritDoc}
*/
@Override
public boolean canGrant(Session session, Role role, Permission perm) throws SecurityException {
String methodName = CLS_NM + "canGrant";
VUtil.assertNotNull(session, GlobalErrIds.USER_SESS_NULL, methodName);
VUtil.assertNotNull(perm, GlobalErrIds.PERM_OBJECT_NULL, methodName);
VUtil.assertNotNull(role, GlobalErrIds.ROLE_NULL, methodName);
boolean result;
FortRequest request = new FortRequest();
request.setContextId(this.contextId);
RolePerm context = new RolePerm();
context.setPerm(perm);
context.setRole(role);
request.setSession(session);
request.setEntity(context);
String szRequest = RestUtils.marshal(request);
String szResponse = RestUtils.getInstance().post(szRequest, HttpIds.ADMIN_GRANT);
FortResponse response = RestUtils.unmarshall(szResponse);
if (response.getErrorCode() == 0) {
result = response.getAuthorized();
Session outSession = response.getSession();
session.copy(outSession);
} else {
throw new SecurityException(response.getErrorCode(), response.getErrorMessage());
}
return result;
}
use of org.apache.directory.fortress.core.model.Session in project directory-fortress-core by apache.
the class DelAccessMgrRestImpl method checkAccess.
/**
* {@inheritDoc}
*/
@Override
public boolean checkAccess(Session session, Permission perm) throws SecurityException {
String methodName = CLS_NM + ".checkAccess";
VUtil.assertNotNull(perm, GlobalErrIds.PERM_NULL, methodName);
VUtil.assertNotNullOrEmpty(perm.getOpName(), GlobalErrIds.PERM_OPERATION_NULL, methodName);
VUtil.assertNotNullOrEmpty(perm.getObjName(), GlobalErrIds.PERM_OBJECT_NULL, methodName);
VUtil.assertNotNull(session, GlobalErrIds.USER_SESS_NULL, methodName);
boolean result;
FortRequest request = new FortRequest();
request.setContextId(this.contextId);
request.setSession(session);
request.setEntity(perm);
String szRequest = RestUtils.marshal(request);
String szResponse = RestUtils.getInstance().post(szRequest, HttpIds.ADMIN_AUTHZ);
FortResponse response = RestUtils.unmarshall(szResponse);
if (response.getErrorCode() == 0) {
result = response.getAuthorized();
Session outSession = response.getSession();
session.copy(outSession);
} else {
throw new SecurityException(response.getErrorCode(), response.getErrorMessage());
}
return result;
}
use of org.apache.directory.fortress.core.model.Session in project directory-fortress-core by apache.
the class DelAccessMgrRestImpl method authorizedAdminRoles.
/**
* {@inheritDoc}
*/
@Override
public Set<String> authorizedAdminRoles(Session session) throws SecurityException {
VUtil.assertNotNull(session, GlobalErrIds.USER_SESS_NULL, CLS_NM + ".authorizedAdminRoles");
Set<String> retRoleNames = new TreeSet<>(String.CASE_INSENSITIVE_ORDER);
FortRequest request = new FortRequest();
request.setContextId(this.contextId);
request.setSession(session);
String szRequest = RestUtils.marshal(request);
String szResponse = RestUtils.getInstance().post(szRequest, HttpIds.ADMIN_AUTHZ_ROLES);
FortResponse response = RestUtils.unmarshall(szResponse);
if (response.getErrorCode() == 0) {
Set<String> tempNames = response.getValueSet();
// This is done to use a case insensitive TreeSet for returned names.
retRoleNames.addAll(tempNames);
Session outSession = response.getSession();
session.copy(outSession);
} else {
throw new SecurityException(response.getErrorCode(), response.getErrorMessage());
}
return retRoleNames;
// throw new java.lang.UnsupportedOperationException();
}
use of org.apache.directory.fortress.core.model.Session in project directory-fortress-core by apache.
the class DelAccessMgrRestImpl method sessionPermissions.
/**
* {@inheritDoc}
*/
@Override
public List<Permission> sessionPermissions(Session session) throws SecurityException {
VUtil.assertNotNull(session, GlobalErrIds.USER_SESS_NULL, CLS_NM + ".sessionPermissions");
List<Permission> retPerms;
FortRequest request = new FortRequest();
request.setContextId(this.contextId);
request.setSession(session);
String szRequest = RestUtils.marshal(request);
String szResponse = RestUtils.getInstance().post(szRequest, HttpIds.ADMIN_PERMS);
FortResponse response = RestUtils.unmarshall(szResponse);
if (response.getErrorCode() == 0) {
retPerms = response.getEntities();
Session outSession = response.getSession();
session.copy(outSession);
} else {
throw new SecurityException(response.getErrorCode(), response.getErrorMessage());
}
return retPerms;
// throw new java.lang.UnsupportedOperationException();
}
use of org.apache.directory.fortress.core.model.Session in project directory-fortress-core by apache.
the class DelAccessMgrRestImpl method canRevoke.
/**
* {@inheritDoc}
*/
@Override
public boolean canRevoke(Session session, Role role, Permission perm) throws SecurityException {
String methodName = CLS_NM + "canRevoke";
VUtil.assertNotNull(session, GlobalErrIds.USER_SESS_NULL, methodName);
VUtil.assertNotNull(perm, GlobalErrIds.PERM_OBJECT_NULL, methodName);
VUtil.assertNotNull(role, GlobalErrIds.ROLE_NULL, methodName);
boolean result;
FortRequest request = new FortRequest();
request.setContextId(this.contextId);
RolePerm context = new RolePerm();
context.setPerm(perm);
context.setRole(role);
request.setSession(session);
request.setEntity(context);
String szRequest = RestUtils.marshal(request);
String szResponse = RestUtils.getInstance().post(szRequest, HttpIds.ADMIN_REVOKE);
FortResponse response = RestUtils.unmarshall(szResponse);
if (response.getErrorCode() == 0) {
result = response.getAuthorized();
Session outSession = response.getSession();
session.copy(outSession);
} else {
throw new SecurityException(response.getErrorCode(), response.getErrorMessage());
}
return result;
}
Aggregations