Search in sources :

Example 46 with Group

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

Example 47 with Group

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

Example 48 with Group

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

Example 49 with Group

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);
    }
}
Also used : RestRourceNotFoundException(org.entando.entando.aps.system.exception.RestRourceNotFoundException) Group(com.agiletec.aps.system.services.group.Group) RestServerError(org.entando.entando.aps.system.exception.RestServerError) ApsSystemException(com.agiletec.aps.system.exception.ApsSystemException)

Example 50 with Group

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

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