use of com.agiletec.aps.system.services.group.Group in project entando-core by entando.
the class SearcherTagHelper method executeSearch.
/**
* Carica una lista di identificativi di contenuto in base ad una ricerca
* effettuata in funzione ad una parila chiave specificata.
* @param word La parola con cui effettuare la ricerca.
* @param reqCtx Il contesto della richiesta.
* @return La lista di identificativi di contenuto.
* @throws ApsSystemException
*/
public List<String> executeSearch(String word, RequestContext reqCtx) throws ApsSystemException {
List<String> result = new ArrayList<String>();
if (null != word && word.trim().length() > 0) {
UserDetails currentUser = (UserDetails) reqCtx.getRequest().getSession().getAttribute(SystemConstants.SESSIONPARAM_CURRENT_USER);
ICmsSearchEngineManager searchEngine = (ICmsSearchEngineManager) ApsWebApplicationUtils.getBean(JacmsSystemConstants.SEARCH_ENGINE_MANAGER, reqCtx.getRequest());
IAuthorizationManager authManager = (IAuthorizationManager) ApsWebApplicationUtils.getBean(SystemConstants.AUTHORIZATION_SERVICE, reqCtx.getRequest());
List<Group> groups = authManager.getUserGroups(currentUser);
Set<String> userGroups = new HashSet<String>();
Iterator<Group> iter = groups.iterator();
while (iter.hasNext()) {
Group group = iter.next();
userGroups.add(group.getName());
}
Lang currentLang = (Lang) reqCtx.getExtraParam(SystemConstants.EXTRAPAR_CURRENT_LANG);
result = searchEngine.searchEntityId(currentLang.getCode(), word, userGroups);
}
return result;
}
use of com.agiletec.aps.system.services.group.Group in project entando-core by entando.
the class TestAuthorityManager method testSetRemoveUserAuthorizations_1.
public void testSetRemoveUserAuthorizations_1() throws Throwable {
String username = "pageManagerCustomers";
String groupName = "management";
String roleName = "pageManager";
Group groupForTest = this.getGroup(groupName);
assertNotNull(groupForTest);
Role roleForTest = this.getRole(roleName);
assertNotNull(roleForTest);
List<String> usersByGroup = this._authorizationManager.getUsersByAuthority(groupForTest, false);
assertNotNull(usersByGroup);
assertEquals(0, usersByGroup.size());
try {
this._authorizationManager.addUserAuthorization(username, groupName, roleName);
usersByGroup = this._authorizationManager.getUsersByAuthority(groupForTest, false);
assertNotNull(usersByGroup);
assertEquals(1, usersByGroup.size());
} catch (Throwable t) {
throw t;
} finally {
this._authorizationManager.deleteUserAuthorization(username, groupName, roleName);
usersByGroup = this._authorizationManager.getUsersByAuthority(groupForTest, false);
assertNotNull(usersByGroup);
assertEquals(0, usersByGroup.size());
}
}
use of com.agiletec.aps.system.services.group.Group in project entando-core by entando.
the class TestAuthorizationManager method testCheckAdminUser.
public void testCheckAdminUser() throws Throwable {
// nel database di test, username e password sono uguali
UserDetails adminUser = this._authenticationProvider.getUser("admin", "admin");
assertNotNull(adminUser);
assertEquals("admin", adminUser.getUsername());
assertEquals(1, adminUser.getAuthorizations().size());
List<Group> groups = this._groupManager.getGroups();
for (int i = 0; i < groups.size(); i++) {
Group group = groups.get(i);
boolean check = this._authorizationManager.isAuth(adminUser, group);
assertTrue(check);
check = this._authorizationManager.isAuthOnGroup(adminUser, group.getName());
assertTrue(check);
}
List<Permission> permissions = new ArrayList<Permission>(this._roleManager.getPermissions());
for (int i = 0; i < permissions.size(); i++) {
Permission perm = permissions.get(i);
boolean check = this._authorizationManager.isAuth(adminUser, perm);
assertTrue(check);
check = this._authorizationManager.isAuthOnPermission(adminUser, perm.getName());
assertTrue(check);
}
}
use of com.agiletec.aps.system.services.group.Group in project entando-core by entando.
the class TestAuthorizationManager method testGroupsByPermission_2.
public void testGroupsByPermission_2() throws Throwable {
int allGroupSize = this._groupManager.getGroups().size();
String username = "admin";
UserDetails user = this._authenticationProvider.getUser(username);
List<Group> autorities = this._authorizationManager.getGroupsByPermission(user, Permission.MANAGE_PAGES);
assertNotNull(autorities);
assertEquals(allGroupSize, autorities.size());
autorities = this._authorizationManager.getGroupsByPermission(user, Permission.SUPERUSER);
assertNotNull(autorities);
assertEquals(allGroupSize, autorities.size());
autorities = this._authorizationManager.getGroupsByPermission(user, "wrong_permission");
assertNotNull(autorities);
assertEquals(allGroupSize, autorities.size());
}
use of com.agiletec.aps.system.services.group.Group in project entando-core by entando.
the class TestAuthorizationManager method testGroupsByPermission_1.
public void testGroupsByPermission_1() throws Throwable {
String username = "pageManagerCoach";
UserDetails user = this._authenticationProvider.getUser(username);
List<Group> autorities = this._authorizationManager.getGroupsByPermission(user, Permission.MANAGE_PAGES);
assertNotNull(autorities);
assertEquals(2, autorities.size());
autorities = this._authorizationManager.getGroupsByPermission(user, Permission.SUPERUSER);
assertNotNull(autorities);
assertTrue(autorities.isEmpty());
autorities = this._authorizationManager.getGroupsByPermission(user, "wrong_permission");
assertNotNull(autorities);
assertTrue(autorities.isEmpty());
}
Aggregations