use of com.agiletec.aps.system.services.group.Group in project entando-core by entando.
the class TestAuthorizationManager method testCheckNewUser.
public void testCheckNewUser() throws Throwable {
String username = "UserForTest";
String password = "PasswordForTest";
this.addUserForTest(username, password);
UserDetails extractedUser = null;
try {
extractedUser = this._authenticationProvider.getUser(username, password);
assertEquals(username, extractedUser.getUsername());
assertNotNull(extractedUser);
assertEquals(1, extractedUser.getAuthorizations().size());
Group group = this._groupManager.getGroup("coach");
boolean checkGroup = this._authorizationManager.isAuth(extractedUser, group);
assertFalse(checkGroup);
group = this._groupManager.getGroup(Group.FREE_GROUP_NAME);
checkGroup = this._authorizationManager.isAuth(extractedUser, group);
assertTrue(checkGroup);
boolean checkPermission = this._authorizationManager.isAuthOnPermission(extractedUser, Permission.CONTENT_SUPERVISOR);
assertFalse(checkPermission);
checkPermission = this._authorizationManager.isAuthOnPermission(extractedUser, Permission.SUPERUSER);
assertFalse(checkPermission);
checkPermission = this._authorizationManager.isAuthOnPermission(extractedUser, Permission.BACKOFFICE);
assertTrue(checkPermission);
checkPermission = this._authorizationManager.isAuthOnPermission(extractedUser, Permission.CONTENT_EDITOR);
assertTrue(checkPermission);
} catch (Throwable t) {
throw t;
} finally {
if (null != extractedUser) {
this._userManager.removeUser(extractedUser);
}
extractedUser = this._userManager.getUser(username);
assertNull(extractedUser);
}
}
use of com.agiletec.aps.system.services.group.Group in project entando-core by entando.
the class PublicDataTypeAuthorizationInfo method isUserAllowed.
/**
* Verifica i permessi dell'utente in accesso al dataType. Restituisce true
* se l'utente specificato è abilitato ad accedere al dataType, false in
* caso contrario.
*
* @param userGroups I gruppi dell'utente di cui verificarne l'abilitazione.
* @return true se l'utente specificato è abilitato ad accedere al dataType,
* false in caso contrario.
*/
public boolean isUserAllowed(List<Group> userGroups) {
if (null == userGroups) {
userGroups = new ArrayList<Group>();
}
Set<String> codes = new HashSet<String>();
for (int i = 0; i < userGroups.size(); i++) {
Group group = userGroups.get(i);
codes.add(group.getAuthority());
}
return this.isUserAllowed(codes);
}
use of com.agiletec.aps.system.services.group.Group in project entando-core by entando.
the class ApiResourceInterface method getAllowedGroupCodes.
private List<String> getAllowedGroupCodes(UserDetails user) {
List<Group> groups = new ArrayList<Group>();
List<Group> groupsOfUser = this.getAuthorizationManager().getUserGroups(user);
if (this.getAuthorizationManager().isAuthOnGroup(user, Group.ADMINS_GROUP_NAME)) {
groups.addAll(this.getGroupManager().getGroups());
} else {
groups.addAll(groupsOfUser);
}
List<String> codes = new ArrayList<String>();
for (int i = 0; i < groups.size(); i++) {
Group group = groups.get(i);
if (null != group) {
codes.add(group.getName());
}
}
if (!codes.contains(Group.FREE_GROUP_NAME)) {
codes.add(Group.FREE_GROUP_NAME);
}
return codes;
}
use of com.agiletec.aps.system.services.group.Group in project entando-core by entando.
the class GroupService method updateGroup.
@Override
public GroupDto updateGroup(String groupCode, String descr) {
Group group = this.getGroupManager().getGroup(groupCode);
if (null == group) {
throw new RestRourceNotFoundException(GroupValidator.ERRCODE_GROUP_NOT_FOUND, "group", groupCode);
}
group.setDescription(descr);
try {
this.getGroupManager().updateGroup(group);
return this.getDtoBuilder().convert(group);
} catch (ApsSystemException e) {
logger.error("Error updating group {}", groupCode, e);
throw new RestServerError("error in update group", e);
}
}
use of com.agiletec.aps.system.services.group.Group in project entando-core by entando.
the class TestDataObjectAuthorization method testCheckNewUser.
/*
* This test is fully inherited from the original TestAuthorizationManager in jAPS2 (2.0.6)
*/
public void testCheckNewUser() throws Throwable {
String username = "UserForTest";
String password = "PasswordForTest";
this.addUserForTest(username, password);
UserDetails extractedUser = null;
try {
extractedUser = this.getUser(username, password);
assertEquals(username, extractedUser.getUsername());
assertNotNull(extractedUser);
assertEquals(1, extractedUser.getAuthorizations().size());
Group group = this._groupManager.getGroup("coach");
boolean checkGroup = this._authorizationManager.isAuth(extractedUser, group);
assertFalse(checkGroup);
group = this._groupManager.getGroup(Group.FREE_GROUP_NAME);
checkGroup = this._authorizationManager.isAuth(extractedUser, group);
assertTrue(checkGroup);
boolean checkPermission = this._authorizationManager.isAuthOnPermission(extractedUser, Permission.SUPERVISOR);
assertFalse(checkPermission);
checkPermission = this._authorizationManager.isAuthOnPermission(extractedUser, Permission.SUPERUSER);
assertFalse(checkPermission);
checkPermission = this._authorizationManager.isAuthOnPermission(extractedUser, Permission.BACKOFFICE);
assertTrue(checkPermission);
checkPermission = this._authorizationManager.isAuthOnPermission(extractedUser, "editContents");
assertTrue(checkPermission);
IDataObjectManager contentManager = (IDataObjectManager) this.getService("DataObjectManager");
DataObject content = contentManager.loadDataObject("ART111", true);
boolean checkContent = this._authorizationManager.isAuth(extractedUser, content);
assertFalse(checkContent);
content = contentManager.loadDataObject("EVN25", true);
checkContent = this._authorizationManager.isAuth(extractedUser, content);
assertTrue(checkContent);
content = contentManager.loadDataObject("EVN41", true);
checkContent = this._authorizationManager.isAuth(extractedUser, content);
assertFalse(checkContent);
} catch (Throwable t) {
throw t;
} finally {
if (null != extractedUser) {
this._userManager.removeUser(extractedUser);
}
extractedUser = this._userManager.getUser(username);
assertNull(extractedUser);
}
}
Aggregations