Search in sources :

Example 1 with Group

use of org.osgi.service.useradmin.Group in project felix by apache.

the class UserManager method removeMember.

public boolean removeMember(String groupname, String rolename) {
    try {
        Role group = ac.getUserAdmin().getRole(groupname);
        Role role = ac.getUserAdmin().getRole(rolename);
        if (!(group.getType() == Role.GROUP))
            return false;
        return ((Group) group).removeMember(role);
    } catch (NullPointerException npe) {
        ac.debug("UserAdmin not available. ");
        return false;
    }
}
Also used : Role(org.osgi.service.useradmin.Role) Group(org.osgi.service.useradmin.Group)

Example 2 with Group

use of org.osgi.service.useradmin.Group in project felix by apache.

the class UserManager method getMembers.

public String[] getMembers(String groupname) {
    try {
        Group group = (Group) ac.getUserAdmin().getRole(groupname);
        Role[] members = group.getMembers();
        if (members == null)
            return null;
        String[] names = new String[members.length];
        for (int i = 0; i < members.length; i++) {
            names[i] = members[i].getName();
        }
        return names;
    } catch (NullPointerException npe) {
        ac.debug("UserAdmin not available. ");
        return null;
    }
}
Also used : Role(org.osgi.service.useradmin.Role) Group(org.osgi.service.useradmin.Group)

Example 3 with Group

use of org.osgi.service.useradmin.Group in project felix by apache.

the class UserManager method getRequiredMembers.

public String[] getRequiredMembers(String groupname) {
    try {
        Group group = (Group) ac.getUserAdmin().getRole(groupname);
        Role[] members = group.getRequiredMembers();
        if (members == null)
            return null;
        String[] names = new String[members.length];
        for (int i = 0; i < members.length; i++) {
            names[i] = members[i].getName();
        }
        return names;
    } catch (NullPointerException npe) {
        ac.debug("UserAdmin not available. ");
        return null;
    }
}
Also used : Role(org.osgi.service.useradmin.Role) Group(org.osgi.service.useradmin.Group)

Example 4 with Group

use of org.osgi.service.useradmin.Group in project felix by apache.

the class FileStoreInitializationTest method testStoreIsInitializedAndClosedProperlyOk.

/**
 * Tests that initialization and closing of the repository store is
 * performed correctly.
 */
@Test
public void testStoreIsInitializedAndClosedProperlyOk() throws Exception {
    UserAdmin ua = getUserAdmin();
    // Start the file store bundle...
    Bundle fileStoreBundle = getFileStoreBundle();
    fileStoreBundle.start();
    // Create two roles...
    User user = (User) ua.createRole("user1", Role.USER);
    assertNotNull(user);
    Group group = (Group) ua.createRole("group1", Role.GROUP);
    assertNotNull(group);
    group.addMember(user);
    group.addRequiredMember(ua.getRole(Role.USER_ANYONE));
    // Stop the file store; should persist the two roles...
    fileStoreBundle.stop();
    // Wait a little until the bundle is really stopped...
    Thread.sleep(100);
    // Retrieve the roles again; should both yield null due to the store not being available...
    user = (User) ua.getRole("user1");
    assertNull(user);
    group = (Group) ua.getRole("group1");
    assertNull(group);
    // This will not succeed: no backend to store the user in...
    assertNull(ua.createRole("user2", Role.USER));
    fileStoreBundle.start();
    awaitService(ORG_APACHE_FELIX_USERADMIN_FILESTORE);
    // Retrieve the roles again; should both yield valid values...
    user = (User) ua.getRole("user1");
    assertNotNull(user);
    group = (Group) ua.getRole("group1");
    assertNotNull(group);
    Role[] members = group.getMembers();
    assertNotNull(members);
    assertEquals(1, members.length);
    assertEquals("user1", members[0].getName());
    members = group.getRequiredMembers();
    assertNotNull(members);
    assertEquals(1, members.length);
    assertEquals(Role.USER_ANYONE, members[0].getName());
    user = (User) ua.getRole("user2");
    assertNull(user);
}
Also used : Role(org.osgi.service.useradmin.Role) Group(org.osgi.service.useradmin.Group) User(org.osgi.service.useradmin.User) UserAdmin(org.osgi.service.useradmin.UserAdmin) Bundle(org.osgi.framework.Bundle) Test(org.junit.Test)

Example 5 with Group

use of org.osgi.service.useradmin.Group in project felix by apache.

the class WebConsolePlugin method toJSON.

private static final void toJSON(JSONWriter jw, Role role, boolean details) throws IOException {
    jw.object();
    // $NON-NLS-1$
    jw.key("type");
    jw.value(role.getType());
    // $NON-NLS-1$
    jw.key("name");
    jw.value(role.getName());
    if (role instanceof Group) {
        final Group group = (Group) role;
        Role[] roles;
        roles = group.getMembers();
        if (null != roles && roles.length > 0) {
            // $NON-NLS-1$
            jw.key("members");
            toJSON(jw, roles, details);
        }
        roles = group.getRequiredMembers();
        if (null != roles && roles.length > 0) {
            // $NON-NLS-1$
            jw.key("rmembers");
            toJSON(jw, roles, details);
        }
    }
    if (details) {
        Dictionary p;
        p = role.getProperties();
        if (null != p && !p.isEmpty()) {
            // $NON-NLS-1$
            jw.key("properties");
            toJSON(jw, p);
        }
        if (role instanceof User) {
            p = ((User) role).getCredentials();
            if (null != p && !p.isEmpty()) {
                // $NON-NLS-1$
                jw.key("credentials");
                toJSON(jw, p);
            }
        }
    }
    jw.endObject();
}
Also used : Role(org.osgi.service.useradmin.Role) Group(org.osgi.service.useradmin.Group) Dictionary(java.util.Dictionary) User(org.osgi.service.useradmin.User)

Aggregations

Group (org.osgi.service.useradmin.Group)63 User (org.osgi.service.useradmin.User)32 Role (org.osgi.service.useradmin.Role)29 Test (org.junit.Test)11 IOException (java.io.IOException)8 CountDownLatch (java.util.concurrent.CountDownLatch)7 Authorization (org.osgi.service.useradmin.Authorization)5 Bundle (org.osgi.framework.Bundle)3 UserAdmin (org.osgi.service.useradmin.UserAdmin)3 BasicDBObject (com.mongodb.BasicDBObject)2 GroupData (org.apache.aries.jmx.codec.GroupData)2 PrintWriter (java.io.PrintWriter)1 MessageDigest (java.security.MessageDigest)1 ArrayList (java.util.ArrayList)1 Dictionary (java.util.Dictionary)1 Iterator (java.util.Iterator)1 List (java.util.List)1 CompositeData (javax.management.openmbean.CompositeData)1 ServletException (javax.servlet.ServletException)1 BackendException (org.apache.felix.useradmin.BackendException)1