public static String[] get(Properties props) { String val = (String) props.get(INSTANCE.getKey()); return val != null && !"".equals(val) ? INSTANCE.fromString(val) : null; }
@Override public void onSubmit() { try { //update the user property listing the group names the user is admin for if (adminGroupChoice.isEnabled()) { Collection<GeoServerUserGroup> groups = adminGroupChoice.getModelObject(); String[] groupNames = new String[groups.size()]; int i = 0; for (GeoServerUserGroup group : groups) { groupNames[i++] = group.getGroupname(); } GroupAdminProperty.set(user.getProperties(), groupNames); } else { GroupAdminProperty.del(user.getProperties()); } onFormSubmit(user); setReturnPageDirtyAndReturn(true); } catch(Exception e) { handleSubmitError(e); } } }.setEnabled(hasUserGroupStore || hasRoleStore(getSecurityManager().getActiveRoleService().getName())));
List<GeoServerUserGroup> adminGroups = new ArrayList(); if (isGroupAdmin) { for (String groupName : GroupAdminProperty.get(user.getProperties())) { try { adminGroups.add(ugService.getGroupByGroupname(groupName));
List<String> calculateAdminGroups(UserDetails userDetails) throws IOException { if (userDetails instanceof GeoServerUser) { Properties props = ((GeoServerUser) userDetails).getProperties(); if (GroupAdminProperty.has(props)) { return Arrays.asList(GroupAdminProperty.get(props)); } } // fall back on including every group the user is part of List<String> groupNames = new ArrayList<String>(); for (GeoServerUserGroupService ugService : loadUserGroupServices()) { GeoServerUser user = ugService.getUserByUsername(userDetails.getUsername()); if (user != null) { for (GeoServerUserGroup group : ugService.getGroupsForUser(user)) { groupNames.add(group.getGroupname()); } } } return groupNames; }
@Override protected void onSetUp(SystemTestData testData) throws Exception { super.onSetUp(testData); // set up the services GeoServerUserGroupService ugService = createUserGroupService("gaugs"); GeoServerRoleService roleService = createRoleService("gars"); getSecurityManager().setActiveRoleService(roleService); // add the users GeoServerUserGroupStore ugStore = createStore(ugService); GeoServerUser bob = ugStore.createUserObject("bob", "foobar", true); GroupAdminProperty.set(bob.getProperties(), new String[] {"users"}); ugStore.addUser(bob); GeoServerUser alice = ugStore.createUserObject("alice", "foobar", true); ugStore.addUser(alice); GeoServerUserGroup users = ugStore.createGroupObject("users", true); ugStore.addGroup(users); GeoServerUserGroup admins = ugStore.createGroupObject("admins", true); ugStore.addGroup(admins); ugStore.store(); // grant bob group admin privilege GeoServerRole groupAdminRole = null; GeoServerRoleStore roleStore = createStore(roleService); roleStore.addRole(roleStore.createRoleObject("adminRole")); roleStore.addRole(groupAdminRole = roleStore.createRoleObject("groupAdminRole")); roleStore.associateRoleToUser(groupAdminRole, bob.getUsername()); roleStore.store(); }
public static boolean has(Properties props) { return props.containsKey(INSTANCE.getKey()); } }
@Override public void onSubmit() { try { //update the user property listing the group names the user is admin for if (adminGroupChoice.isEnabled()) { Collection<GeoServerUserGroup> groups = adminGroupChoice.getModelObject(); String[] groupNames = new String[groups.size()]; int i = 0; for (GeoServerUserGroup group : groups) { groupNames[i++] = group.getGroupname(); } GroupAdminProperty.set(user.getProperties(), groupNames); } else { GroupAdminProperty.del(user.getProperties()); } onFormSubmit(user); setReturnPageDirtyAndReturn(true); } catch(Exception e) { handleSubmitError(e); } } }.setEnabled(hasUserGroupStore || hasRoleStore(getSecurityManager().getActiveRoleService().getName())));
List<GeoServerUserGroup> adminGroups = new ArrayList(); if (isGroupAdmin) { for (String groupName : GroupAdminProperty.get(user.getProperties())) { try { adminGroups.add(ugService.getGroupByGroupname(groupName));
public static void del(Properties props) { props.remove(INSTANCE.getKey()); }
@Override public void onSubmit() { try { // update the user property listing the group names the user is admin // for if (adminGroupChoice.isEnabled()) { Collection<GeoServerUserGroup> groups = adminGroupChoice.getModelObject(); String[] groupNames = new String[groups.size()]; int i = 0; for (GeoServerUserGroup group : groups) { groupNames[i++] = group.getGroupname(); } GroupAdminProperty.set(user.getProperties(), groupNames); } else { GroupAdminProperty.del(user.getProperties()); } onFormSubmit(user); setReturnPageDirtyAndReturn(true); } catch (Exception e) { handleSubmitError(e); } } }.setEnabled(
List<GeoServerUserGroup> adminGroups = new ArrayList(); if (isGroupAdmin) { for (String groupName : GroupAdminProperty.get(user.getProperties())) { try { adminGroups.add(ugService.getGroupByGroupname(groupName));