@Override public SortedSet<GeoServerUserGroup> getGroupsForUser(GeoServerUser user) throws IOException { return filterGroups(new TreeSet<GeoServerUserGroup>(delegate.getGroupsForUser(user))); }
void checkUserNotInOtherGroup(GeoServerUser user) throws IOException { SortedSet<GeoServerUserGroup> userGroups = delegate.getGroupsForUser(user); if (userGroups.isEmpty()) { return; } for (GeoServerUserGroup userGroup : userGroups) { if (!groups.contains(userGroup.getGroupname())) { String msg = new UserGroupServiceException( USER_IN_OTHER_GROUP_NOT_MODIFIABLE_$1, new Object[] {user}) .getMessage(); throw new IOException(msg); } } } }
public SortedSet<GeoServerUserGroup> getGroupsForUser(GeoServerUser user) throws IOException { checkExistingUserName(user.getUsername()); return service.getGroupsForUser(user); }
/** * READ_LOCK * * @see * org.geoserver.security.GeoServerUserGroupService#getGroupsForUser(org.geoserver.security.impl.GeoServerUser) */ public SortedSet<GeoServerUserGroup> getGroupsForUser(GeoServerUser user) throws IOException { readLock(); try { return getService().getGroupsForUser(user); } finally { readUnLock(); } }
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; }
for (GeoServerUserGroup group : getUserGroupService().getGroupsForUser(user)) { if (group.isEnabled()) set1.addAll(calculateRoles(group));
protected void checkValuesRemoved(GeoServerUserGroupService userGroupService) throws IOException { GeoServerUser admin = GeoServerUser.createDefaultAdmin(); GeoServerUser user1 = userGroupService.getUserByUsername("user1"); GeoServerUser disableduser = userGroupService.getUserByUsername("disableduser"); GeoServerUser groupAdminUser = userGroupService.getUserByUsername("groupAdminUser"); assertEquals(4, userGroupService.getUsers().size()); assertEquals(4, userGroupService.getUserCount()); assertTrue(userGroupService.getUsers().contains(admin)); assertTrue(userGroupService.getUsers().contains(user1)); assertTrue(userGroupService.getUsers().contains(disableduser)); assertTrue(userGroupService.getUsers().contains(groupAdminUser)); GeoServerUserGroup admins = userGroupService.getGroupByGroupname("admins"); GeoServerUserGroup group1 = userGroupService.getGroupByGroupname("group1"); assertEquals(3, userGroupService.getUserGroups().size()); assertEquals(3, userGroupService.getGroupCount()); assertTrue(userGroupService.getUserGroups().contains(admins)); assertTrue(userGroupService.getUserGroups().contains(group1)); assertEquals(0, userGroupService.getGroupsForUser(disableduser).size()); assertEquals(1, userGroupService.getUsersForGroup(group1).size()); assertTrue(userGroupService.getUsersForGroup(group1).contains(user1)); assertEquals(0, userGroupService.getUsersHavingProperty("mail").size()); assertEquals(0, userGroupService.getUsersHavingPropertyValue("tel", "11-22-33").size()); }
protected void checkValuesModified(GeoServerUserGroupService userGroupService) throws IOException { GeoServerUser disableduser = userGroupService.getUserByUsername("disableduser"); assertTrue(disableduser.isEnabled()); GeoServerMultiplexingPasswordEncoder encoder = getEncoder(userGroupService); assertTrue(encoder.isPasswordValid(disableduser.getPassword(), "hallo", null)); assertEquals(1, disableduser.getProperties().size()); assertEquals("miller", disableduser.getProperties().getProperty("lastname")); GeoServerUser user2 = userGroupService.getUserByUsername("user2"); assertEquals(1, user2.getProperties().size()); assertEquals("11-22-33", user2.getProperties().getProperty("tel")); GeoServerUserGroup disabledgroup = userGroupService.getGroupByGroupname("disabledgroup"); assertTrue(disabledgroup.isEnabled()); GeoServerUserGroup group1 = userGroupService.getGroupByGroupname("group1"); GeoServerUser user1 = userGroupService.getUserByUsername("user1"); assertEquals(1, userGroupService.getUsersForGroup(group1).size()); assertTrue(userGroupService.getUsersForGroup(group1).contains(user1)); assertEquals(0, userGroupService.getGroupsForUser(user2).size()); assertEquals(0, userGroupService.getUsersHavingProperty("mail").size()); assertEquals(0, userGroupService.getUsersHavingPropertyValue("tel", "12-34-38").size()); assertEquals(1, userGroupService.getUsersHavingPropertyValue("tel", "11-22-33").size()); user2 = userGroupService.getUsersHavingPropertyValue("tel", "11-22-33").first(); assertEquals("11-22-33", user2.getProperties().getProperty("tel")); }
assertTrue(userGroupService.getUsersForGroup(disabledgroup).contains(disableduser)); assertEquals(1, userGroupService.getGroupsForUser(admin).size()); assertTrue(userGroupService.getGroupsForUser(admin).contains(admins)); assertEquals(1, userGroupService.getGroupsForUser(user1).size()); assertTrue(userGroupService.getGroupsForUser(user1).contains(group1)); assertEquals(1, userGroupService.getGroupsForUser(user2).size()); assertTrue(userGroupService.getGroupsForUser(user2).contains(group1)); assertEquals(1, userGroupService.getGroupsForUser(disableduser).size()); assertTrue(userGroupService.getGroupsForUser(disableduser).contains(disabledgroup)); assertEquals(1, userGroupService.getGroupsForUser(groupAdminUser).size()); assertTrue(userGroupService.getGroupsForUser(groupAdminUser).contains(group2));
@GetMapping( value = "/service/{serviceName}/user/{user}/groups", produces = {MediaType.APPLICATION_XML_VALUE, MediaType.APPLICATION_JSON_VALUE} ) public JaxbGroupList getGroupsFromUser( @PathVariable("serviceName") String serviceName, @PathVariable("user") String userName) throws IOException { GeoServerUserGroupService service = getService(serviceName); return new JaxbGroupList(service.getGroupsForUser(getUser(service, userName))); }
public SelectedGroupsModel(String ugServiceName, GeoServerUser user) { try { GeoServerSecurityManager secMgr = GeoServerApplication.get().getSecurityManager(); setObject( new ArrayList( secMgr.loadUserGroupService(ugServiceName).getGroupsForUser(user))); } catch (IOException e) { throw new RuntimeException(e); } }
public SelectedGroupsModel(String ugServiceName, GeoServerUser user) { try { GeoServerSecurityManager secMgr = GeoServerApplication.get().getSecurityManager(); setObject(new ArrayList(secMgr.loadUserGroupService(ugServiceName).getGroupsForUser(user))); } catch (IOException e) { throw new RuntimeException(e); } }
public SelectedGroupsModel(String ugServiceName, GeoServerUser user) { try { GeoServerSecurityManager secMgr = GeoServerApplication.get().getSecurityManager(); setObject(new ArrayList(secMgr.loadUserGroupService(ugServiceName).getGroupsForUser(user))); } catch (IOException e) { throw new RuntimeException(e); } }
if (calc != null) { for (GeoServerUserGroup group : userGroupService.getGroupsForUser(user)) { if (group.isEnabled()) { for (GeoServerRole role : calc.calculateRoles(group)) { if (calc != null) { for (GeoServerUserGroup group : userGroupService.getGroupsForUser(user)) { if (group.isEnabled()) { for (GeoServerRole role : calc.calculateRoles(group)) {
@Test public void testGroupsForUser() throws Exception { SortedSet<GeoServerUserGroup> groups = service.getGroupsForUser(service.getUserByUsername("other")); assertNotNull(groups); assertEquals(1, groups.size()); }
@Test public void testDefault() throws Exception { GeoServerUserGroupService service = getSecurityManager().loadUserGroupService(XMLUserGroupService.DEFAULT_NAME); assertEquals(1, service.getUsers().size()); assertEquals(1, service.getUserCount()); assertEquals(0, service.getUserGroups().size()); assertEquals(0, service.getGroupCount()); GeoServerUser admin = service.getUserByUsername(GeoServerUser.ADMIN_USERNAME); assertNotNull(admin); assertEquals(GeoServerUser.AdminEnabled, admin.isEnabled()); GeoServerMultiplexingPasswordEncoder enc = getEncoder(service); assertTrue( enc.isPasswordValid(admin.getPassword(), GeoServerUser.DEFAULT_ADMIN_PASSWD, null)); assertEquals(admin.getProperties().size(), 0); assertEquals(0, service.getGroupsForUser(admin).size()); }
assertEquals( webServiceAuthKeyBodyResponseUGS.getUserGroups(), webServiceAuthKeyBodyResponseUGS.getGroupsForUser(user));