Search in sources :

Example 86 with Role

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

the class WebConsolePlugin method doPost.

@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    // $NON-NLS-1$
    resp.setContentType("application/json");
    // $NON-NLS-1$
    resp.setCharacterEncoding("UTF-8");
    final PrintWriter out = resp.getWriter();
    final JSONWriter jw = new JSONWriter(out);
    // $NON-NLS-1$
    final String action = req.getParameter("action");
    // $NON-NLS-1$
    final String role = req.getParameter("role");
    // $NON-NLS-1$
    final String group = req.getParameter("group");
    try {
        if ("addMember".equals(action)) {
            // $NON-NLS-1$
            final Role xrole = userAdmin.getRole(role);
            final Group xgroup = (Group) userAdmin.getRole(group);
            xgroup.addMember(xrole);
            toJSON(jw, xgroup, false);
        } else if ("addRequiredMember".equals(action)) {
            // $NON-NLS-1$
            final Role xrole = userAdmin.getRole(role);
            final Group xgroup = (Group) userAdmin.getRole(group);
            xgroup.addRequiredMember(xrole);
            toJSON(jw, xgroup, false);
        } else if ("removeMember".equals(action)) {
            // $NON-NLS-1$
            final Role xrole = userAdmin.getRole(role);
            final Group xgroup = (Group) userAdmin.getRole(group);
            xgroup.removeMember(xrole);
            toJSON(jw, xgroup, false);
        } else if ("toggleMembership".equals(action)) {
            // $NON-NLS-1$
            final Role xrole = userAdmin.getRole(role);
            final Group xgroup = (Group) userAdmin.getRole(group);
            if (// if required
            contains(xgroup.getRequiredMembers(), xrole)) {
                xgroup.removeMember(xrole);
                // add as basic
                xgroup.addMember(xrole);
            } else {
                xgroup.removeMember(xrole);
                // add as required
                xgroup.addRequiredMember(xrole);
            }
            toJSON(jw, xgroup, false);
        } else if ("getDigestAlgorithms".equals(action)) {
            // $NON-NLS-1$
            getMessageDigestAlgorithms(jw);
        } else if ("digest".equals(action)) {
            // $NON-NLS-1$
            // $NON-NLS-1$
            final String dataRaw = req.getParameter("data");
            // $NON-NLS-1$
            final String algorithm = req.getParameter("algorithm");
            final MessageDigest digest = MessageDigest.getInstance(algorithm);
            final byte[] encoded = digest.digest(dataRaw.getBytes());
            jw.object();
            // $NON-NLS-1$
            jw.key("encoded");
            jw.value(encoded);
            jw.endObject();
        } else if ("del".equals(action)) {
            // $NON-NLS-1$
            out.print(userAdmin.removeRole(role));
        } else if ("get".equals(action)) {
            // $NON-NLS-1$
            final Role xrole = userAdmin.getRole(role);
            toJSON(jw, xrole, true);
        } else if ("set".equals(action)) {
            // $NON-NLS-1$
            // $NON-NLS-1$
            final String dataRaw = req.getParameter("data");
            JSONParser parser = new JSONParser(dataRaw);
            final Map<String, Object> data = parser.getParsed();
            // $NON-NLS-1$
            Role xrole = userAdmin.getRole((String) data.get("name"));
            if (null == xrole) {
                xrole = // 
                userAdmin.createRole(// $NON-NLS-1$
                (String) data.get("name"), // $NON-NLS-1$
                (int) (long) (Long) data.get("type"));
            }
            doSetData(xrole, data);
            out.print(true);
        } else // list all roles without details
        {
            Role[] roles = userAdmin.getRoles(null);
            toJSON(jw, roles, false);
        }
        jw.flush();
    } catch (Exception e) {
        throw new ServletException(e);
    }
}
Also used : JSONWriter(org.apache.felix.utils.json.JSONWriter) Group(org.osgi.service.useradmin.Group) ServletException(javax.servlet.ServletException) IOException(java.io.IOException) Role(org.osgi.service.useradmin.Role) ServletException(javax.servlet.ServletException) JSONParser(org.apache.felix.utils.json.JSONParser) MessageDigest(java.security.MessageDigest) PrintWriter(java.io.PrintWriter)

Example 87 with Role

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

the class UserManager method addMember.

public boolean addMember(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).addMember(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 88 with Role

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

the class UserManager method getGroups.

public String[] getGroups() throws Exception {
    try {
        Role[] roles = ac.getUserAdmin().getRoles(null);
        Vector tmp = new Vector();
        int j = 0;
        for (int i = 0; i < roles.length; i++) {
            if (roles[i].getType() == Role.GROUP) {
                j++;
                tmp.add(roles[i].getName());
            }
        }
        if (j == 0)
            return new String[0];
        else {
            String[] result = new String[j];
            tmp.copyInto(result);
            return result;
        }
    } catch (NullPointerException npe) {
        ac.debug("UserAdmin not available. ");
        return null;
    }
}
Also used : Role(org.osgi.service.useradmin.Role) Vector(java.util.Vector)

Example 89 with Role

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

the class UserManager method addRequiredMember.

public boolean addRequiredMember(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).addRequiredMember(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 90 with Role

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

the class UserManager method getUsers.

public String[] getUsers() throws Exception {
    try {
        Role[] roles = ac.getUserAdmin().getRoles(null);
        Vector tmp = new Vector();
        int j = 0;
        for (int i = 0; i < roles.length; i++) {
            if (roles[i].getType() == Role.USER) {
                j++;
                tmp.add(roles[i].getName());
            }
        }
        if (j == 0)
            return new String[0];
        else {
            String[] result = new String[j];
            tmp.copyInto(result);
            return result;
        }
    } catch (NullPointerException npe) {
        ac.debug("UserAdmin not available. ");
        return null;
    }
}
Also used : Role(org.osgi.service.useradmin.Role) Vector(java.util.Vector)

Aggregations

Role (org.osgi.service.useradmin.Role)98 Group (org.osgi.service.useradmin.Group)29 IOException (java.io.IOException)17 CountDownLatch (java.util.concurrent.CountDownLatch)13 List (java.util.List)9 User (org.osgi.service.useradmin.User)9 ArrayList (java.util.ArrayList)7 Test (org.junit.Test)6 Collection (java.util.Collection)5 UserAdmin (org.osgi.service.useradmin.UserAdmin)5 DBCollection (com.mongodb.DBCollection)4 Iterator (java.util.Iterator)4 BackendException (org.apache.felix.useradmin.BackendException)4 ObservableRole (org.apache.felix.useradmin.impl.role.ObservableRole)4 Authorization (org.osgi.service.useradmin.Authorization)4 WriteResult (com.mongodb.WriteResult)3 Filter (org.osgi.framework.Filter)3 BasicDBObject (com.mongodb.BasicDBObject)2 DBObject (com.mongodb.DBObject)2 Dictionary (java.util.Dictionary)2