Package org.drools.repository.security

Examples of org.drools.repository.security.PermissionManager


    }

    @Restrict("#{identity.loggedIn}")
    public void deleteUser(String userName) {
        log.info( "Removing user permissions for user name [" + userName + "]" );
        PermissionManager pm = new PermissionManager( repository );
        pm.removeUserPermissions( userName );
        repository.save();
    }
View Full Code Here


    }

    @Restrict("#{identity.loggedIn}")
    public void createUser(String userName) {
        log.info( "Creating user permissions, user name [" + userName + "]" );
        PermissionManager pm = new PermissionManager( repository );
        pm.createUser( userName );
        repository.save();
    }
View Full Code Here

  }


  public List<RoleBasedPermission> getRoleBasedPermissionsByUserName(
      String userName) {
    PermissionManager permissionManager = new PermissionManager(repository);
    List<RoleBasedPermission> permissions = new ArrayList<RoleBasedPermission>();
    Map<String, List<String>> perms = permissionManager
        .retrieveUserPermissions(userName);
        for (Map.Entry<String, List<String>> permEntry : perms.entrySet()) {
            String roleType = permEntry.getKey();
      if (RoleTypes.ADMIN.equals(roleType)) {
        permissions.add(new RoleBasedPermission(userName, RoleTypes.ADMIN,
View Full Code Here

    return permissions;
  }


  public void addRoleBasedPermissionForTesting(String userName, RoleBasedPermission rbp) {
    PermissionManager permissionManager = new PermissionManager(repository);
    Map<String, List<String>> perms = permissionManager
        .retrieveUserPermissions(userName);
    Object permissionsPerRole = perms.get(rbp.getRole());
    if (permissionsPerRole != null) {
      if (rbp.getPackageName() != null) {
        ((List<String>) permissionsPerRole).add("package="
            + rbp.getPackageName());
      } else if (rbp.getCategoryPath() != null) {
        ((List<String>) permissionsPerRole).add("category="
            + rbp.getPackageName());
      }

    } else {
      List<String> perm = new ArrayList<String>();
      if (rbp.getPackageName() != null) {
        perm.add("package=" + rbp.getPackageName());
      } else if (rbp.getCategoryPath() != null) {
        perm.add("category=" + rbp.getCategoryPath());
      }
      perms.put(rbp.getRole(), perm);
    }

    permissionManager.updateUserPermissions(userName, perms);
  }
View Full Code Here

* @author Michael Neale
*/
public class UserInfoTest extends TestCase {
    public void testPersistence() throws Exception {
        RulesRepository repo = RepositorySessionUtil.getRepository();
        PermissionManager pm = new PermissionManager(repo);
        Map<String, List<String>> perms = new HashMap<String, List<String>>() {{
            put("package.admin", new ArrayList<String>() {{add("1234567890");}});
            put("package.developer", new ArrayList<String>() {{add("1"); add("2");}});
            put("analyst", new ArrayList<String>() {{add("HR");}});
            put("admin", new ArrayList<String>());
        }};
        pm.updateUserPermissions("wankle", perms);
        Map<String, List<String>> perms_ = pm.retrieveUserPermissions("wankle");


        UserInfo info = new UserInfo(repo);
        info.setProperty("inbox", "something", new UserInfo.Val("boo"));
        info.save();
        info.setProperty("inbox", "something", new UserInfo.Val("boo"));
        info.save();

        assertEquals("boo", info.getProperty("inbox", "something").value);
        info.setProperty("inbox", "something", new UserInfo.Val("boo2"));

        assertEquals("boo2", info.getProperty("inbox", "something").value);

        info.setProperty("inbox", "another", new UserInfo.Val("boo"));
        assertEquals("boo", info.getProperty("inbox", "another").value);


        info = new UserInfo(repo);
        info.init(repo, "wankle");
        info.setProperty("inbox", "something", new UserInfo.Val("boo"));

        assertEquals("boo", info.getProperty("inbox", "something").value);
        info.setProperty("inbox", "something", new UserInfo.Val("boo2"));

        assertEquals("boo2", info.getProperty("inbox", "something").value);

        info.setProperty("inbox", "another", new UserInfo.Val("boo"));
        assertEquals("boo", info.getProperty("inbox", "another").value);

        assertEquals(perms_.size(), pm.retrieveUserPermissions("wankle").size());


        pm.updateUserPermissions("wankle", perms_);
        info = new UserInfo(repo);
        assertEquals("boo", info.getProperty("inbox", "another").value);

        pm.removeUserPermissions("wankle");
        info = new UserInfo(repo);
        assertEquals("boo", info.getProperty("inbox", "another").value);
       

        info = new UserInfo(repo);
View Full Code Here

    }


    public List<RoleBasedPermission> getRoleBasedPermissionsByUserName(
            String userName) {
        PermissionManager permissionManager = new PermissionManager(repository);
        List<RoleBasedPermission> permissions = new ArrayList<RoleBasedPermission>();
        Map<String, List<String>> perms = permissionManager
                .retrieveUserPermissions(userName);
        for (Map.Entry<String, List<String>> permEntry : perms.entrySet()) {
            resolvePermissionsAndAdd(userName,
                    permissions,
                    permEntry);
View Full Code Here

    }


    @SuppressWarnings("unchecked")
    public void addRoleBasedPermissionForTesting(String userName, RoleBasedPermission rbp) {
        PermissionManager permissionManager = new PermissionManager(repository);
        Map<String, List<String>> perms = permissionManager
                .retrieveUserPermissions(userName);
        Object permissionsPerRole = perms.get(rbp.getRole());
        if (permissionsPerRole != null) {
            if (rbp.getPackageName() != null) {
                ((List<String>) permissionsPerRole).add("package="
                        + rbp.getPackageName());
            } else if (rbp.getCategoryPath() != null) {
                ((List<String>) permissionsPerRole).add("category="
                        + rbp.getPackageName());
            }

        } else {
            List<String> perm = new ArrayList<String>();
            if (rbp.getPackageName() != null) {
                perm.add("package=" + rbp.getPackageName());
            } else if (rbp.getCategoryPath() != null) {
                perm.add("category=" + rbp.getCategoryPath());
            }
            perms.put(rbp.getRole(), perm);
        }

        permissionManager.updateUserPermissions(userName, perms);
    }
View Full Code Here

        if ( Contexts.isSessionContextActive() ) {
            Identity.instance().checkPermission( new AdminType(),
                                                 RoleTypes.ADMIN );
        }

        PermissionManager pm = new PermissionManager( repository );
        return pm.listUsers();
    }
View Full Code Here

        if ( Contexts.isSessionContextActive() ) {
            Identity.instance().checkPermission( new AdminType(),
                                                 RoleTypes.ADMIN );
        }

        PermissionManager pm = new PermissionManager( repository );
        return pm.retrieveUserPermissions( userName );
    }
View Full Code Here

        if ( Contexts.isSessionContextActive() ) {
            Identity.instance().checkPermission( new AdminType(),
                                                 RoleTypes.ADMIN );
        }

        PermissionManager pm = new PermissionManager( repository );
        System.err.println( perms );
        log.info( "Updating user permissions for userName [" + userName + "] to [" + perms + "]" );
        pm.updateUserPermissions( userName,
                                  perms );
        repository.save();
    }
View Full Code Here

TOP

Related Classes of org.drools.repository.security.PermissionManager

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.