use of org.osgi.service.useradmin.Group in project felix by apache.
the class UserAdminImplTest method testUserAnyoneIsNotPartOfAuthorizedRolesOk.
/**
* Tests that the list of roles in an {@link Authorization} does not contain the any-user, although it is defined as group member.
*/
public void testUserAnyoneIsNotPartOfAuthorizedRolesOk() {
Role userAnyone = m_userAdmin.getRole(Role.USER_ANYONE);
User user1 = (User) m_userAdmin.createRole("user1", Role.USER);
Group group1 = (Group) m_userAdmin.createRole("group1", Role.GROUP);
assertTrue(group1.addRequiredMember(user1));
assertTrue(group1.addMember(userAnyone));
Authorization auth = m_userAdmin.getAuthorization(user1);
assertNotNull(auth);
assertTrue(auth.hasRole("group1"));
String[] roles = auth.getRoles();
assertNotNull(roles);
for (int i = 0; i < roles.length; i++) {
assertFalse(Role.USER_ANYONE.equals(roles[i]));
}
}
use of org.osgi.service.useradmin.Group in project felix by apache.
the class UserAdminImplTest method testAddRequiredGroupMemberOk.
/**
* Tests that adding a required member to a group works.
*/
public void testAddRequiredGroupMemberOk() {
User user1 = (User) m_userAdmin.createRole("user1", Role.USER);
Group group1 = (Group) m_userAdmin.createRole("group1", Role.GROUP);
assertTrue(group1.addRequiredMember(user1));
assertFalse(group1.addRequiredMember(user1));
}
use of org.osgi.service.useradmin.Group 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);
}
}
use of org.osgi.service.useradmin.Group 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;
}
}
use of org.osgi.service.useradmin.Group 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;
}
}
Aggregations