Search in sources :

Example 1 with Group

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;
}
Also used : ICmsSearchEngineManager(com.agiletec.plugins.jacms.aps.system.services.searchengine.ICmsSearchEngineManager) IAuthorizationManager(com.agiletec.aps.system.services.authorization.IAuthorizationManager) Group(com.agiletec.aps.system.services.group.Group) UserDetails(com.agiletec.aps.system.services.user.UserDetails) ArrayList(java.util.ArrayList) Lang(com.agiletec.aps.system.services.lang.Lang) HashSet(java.util.HashSet)

Example 2 with Group

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());
    }
}
Also used : Role(com.agiletec.aps.system.services.role.Role) Group(com.agiletec.aps.system.services.group.Group)

Example 3 with Group

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);
    }
}
Also used : Group(com.agiletec.aps.system.services.group.Group) UserDetails(com.agiletec.aps.system.services.user.UserDetails) Permission(com.agiletec.aps.system.services.role.Permission) ArrayList(java.util.ArrayList)

Example 4 with Group

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());
}
Also used : Group(com.agiletec.aps.system.services.group.Group) UserDetails(com.agiletec.aps.system.services.user.UserDetails)

Example 5 with Group

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());
}
Also used : Group(com.agiletec.aps.system.services.group.Group) UserDetails(com.agiletec.aps.system.services.user.UserDetails)

Aggregations

Group (com.agiletec.aps.system.services.group.Group)68 UserDetails (com.agiletec.aps.system.services.user.UserDetails)15 Role (com.agiletec.aps.system.services.role.Role)13 ArrayList (java.util.ArrayList)13 ApsSystemException (com.agiletec.aps.system.exception.ApsSystemException)7 BeanComparator (org.apache.commons.beanutils.BeanComparator)5 Content (com.agiletec.plugins.jacms.aps.system.services.content.model.Content)4 HashSet (java.util.HashSet)4 RestRourceNotFoundException (org.entando.entando.aps.system.exception.RestRourceNotFoundException)4 RestServerError (org.entando.entando.aps.system.exception.RestServerError)4 IGroupManager (com.agiletec.aps.system.services.group.IGroupManager)3 DataObject (org.entando.entando.aps.system.services.dataobject.model.DataObject)3 AttributeRole (com.agiletec.aps.system.common.entity.model.attribute.AttributeRole)2 SearcherDaoPaginatedResult (com.agiletec.aps.system.common.model.dao.SearcherDaoPaginatedResult)2 Authorization (com.agiletec.aps.system.services.authorization.Authorization)2 IAuthorizationManager (com.agiletec.aps.system.services.authorization.IAuthorizationManager)2 ExtendedResourceAction (com.agiletec.plugins.jacms.apsadmin.content.attribute.action.resource.ExtendedResourceAction)2 Date (java.util.Date)2 HashMap (java.util.HashMap)2 Map (java.util.Map)2