Hi, in my configuration I have additional:
<allGroupsSearchFilter>cn=*</allGroupsSearchFilter> (defaults to cn=*) and <user>cn=huhu,dc=geodaten,dc=de</user> <password>GANZGEHEIM</password> Also, see https://docs.geoserver.org/latest/en/user/security/usergrouprole/roleservices.html Groups are extracted from a specific LDAP node, configured as the |Groups search base|. A role is mapped for every matching group. The role will have a name that is built taking the Group common name (cn attribute), transformed to upper case and with a |ROLE_| prefix applied. There is no ROLE_ prefix in your example <adminGroup>UDEV-BDA-Dev</adminGroup> <groupAdminGroup>UDEV-BDA-Dev</groupAdminGroup> My configuration example: <org.geoserver.security.ldap.LDAPRoleServiceConfig> <id>-ceba2b8:15ecc57126b:-445f</id> <name>Geodaten Rollendienst</name> <className>org.geoserver.security.ldap.LDAPRoleService</className> <serverURL>ldaps://geodaten.de:636/dc=geodaten,dc=de</serverURL> <groupSearchBase>ou=ogc_dienste</groupSearchBase> <allGroupsSearchFilter>cn=*</allGroupsSearchFilter> <groupSearchFilter>member=cn={0},ou=user,dc=geodaten,dc=de</groupSearchFilter> <userFilter>member=cn={0},ou=user,dc=geodaten,dc=de</userFilter> <useTLS>false</useTLS> <useNestedParentGroups>false</useNestedParentGroups> <maxGroupSearchLevel>0</maxGroupSearchLevel> <bindBeforeGroupSearch>true</bindBeforeGroupSearch> <adminGroup>ROLE_ADMIN</adminGroup> <groupAdminGroup>ROLE_GRUPPEN_ADMIN</groupAdminGroup> <user>cn=huhu,dc=geodaten,dc=de</user> <password>GANZGEHEIM</password> </org.geoserver.security.ldap.LDAPRoleServiceConfig> Stefan Am 29.04.2021 um 14:16 schrieb Brandon M: > Hi GeoServer Users, > > We recently upgraded to a new version of GeoServer, 2.16.2 from 2.12.2 > (I know we are a little behind the curve). We have GeoServer > configured to use our internal LDAP for user login, and assign users > GeoServer ADMIN privileges based on their LDAP groups, which is > configured under Security -> Authentication -> LDAP Authentication > Provider section of the GeoServer console. The LDAP group lookup > performed by GeoServer stopped working when we upgraded, the LDAP > authentication still works as it did before the upgrade. > > I did some additional testing and found that this issue started in > version 2.15.3. I read the release notes for 2.15.3 and didn't see > anything that would explain why the lookup and handling of LDAP roles > would be any different between 2.15.2 and 2.15.3. The LDAP > Authentication setup page in GeoServer does have a new "Enable > Hierarchical groups search" option in version 2.15.3, which we did not > enable. > > I didn't notice anything in the GeoServer documentation for 2.15.3 > that would require us to change our LDAP configuration parameters. I > installed GeoServer version 2.18.* and it behaved the same, no LDAP > groups were returned for any of our LDAP accounts. > > GeoServer DEBUG logging details related to the same LDAP user login > appears to be the same between the 2.15.2 and 2.15.3 versions, the > only noticeable difference is the > "[ldap.BindingLdapAuthoritiesPopulator] - Roles from search: []" is > empty with any version after 2.15.2, here are some logging details: > > LDAP authentication logging with 2.15.2: > > 2021-04-27 17:05:25,676 DEBUG [ldap.LDAPSecurityProvider$1] - > Processing authentication request for user: tuser1 > 2021-04-27 17:05:25,780 DEBUG [ldap.GeoserverLdapBindAuthenticator] - > Retrieving user object using filter... > 2021-04-27 17:05:25,862 INFO [ldap.SpringSecurityLdapTemplate] - > Ignoring PartialResultException > 2021-04-27 17:05:25,863 DEBUG [ldap.BindingLdapAuthoritiesPopulator] - > Getting authorities for user CN=Test > User,OU=NonPriv,OU=Users,OU=udev,dc=udev,dc=com > 2021-04-27 17:05:25,877 DEBUG [ldap.BindingLdapAuthoritiesPopulator] - > Searching for roles for user 'tuser1', DN = 'CN=Test > User,OU=NonPriv,OU=Users,OU=udev,dc=udev,dc=com', with filter > member={0} in search base 'ou=groups,ou=udev' > 2021-04-27 17:05:25,898 DEBUG [ldap.BindingLdapAuthoritiesPopulator] - > Roles from search: [dl-All-Users, UDEV-All-Users, UDEV-Jenkins-Dev, > UDEV-Sudo-Users, dl-Workspaces, AWS-Console-Admin, UDEV-BDA-Dev] > 2021-04-27 17:05:25,913 DEBUG > [filter.GeoServerUserNamePasswordAuthenticationFilter$1] - > Authentication success. Updating SecurityContextHolder to contain: > org.springframework.security.authentication.UsernamePasswordAuthenticationToken@4cc36d05: > Principal: > org.springframework.security.ldap.userdetails.LdapUserDetailsImpl@39493be2: > Dn: CN=Test User,OU=NonPriv,OU=Users,OU=udev,dc=udev,dc=com; Username: > tuser1; Password: [PROTECTED]; Enabled: true; AccountNonExpired: true; > CredentialsNonExpired: true; AccountNonLocked: true; Granted > Authorities: ROLE_UDEV-SUDO-USERS, ROLE_DL-ALL-USERS, > ROLE_AWS-CONSOLE-ADMIN, ROLE_UDEV-JENKINS-DEV, ROLE_DL-WORKSPACES, > ROLE_UDEV-ALL-USERS, ROLE_UDEV-BDA-DEV; Credentials: [PROTECTED]; > Authenticated: true; Details: > org.geoserver.security.filter.GeoServerWebAuthenticationDetails@ef30: > RemoteIpAddress: 10.0.0.1; SessionId: > 2C4C913D1A84AF86CE2009430A500B59; Granted Authorities: > ROLE_UDEV-SUDO-USERS, ROLE_AUTHENTICATED, ROLE_DL-ALL-USERS, > ROLE_AWS-CONSOLE-ADMIN, ROLE_UDEV-JENKINS-DEV, ROLE_ADMINISTRATOR, > ROLE_DL-WORKSPACES, ROLE_GROUP_ADMIN, ROLE_UDEV-ALL-USERS, > ROLE_UDEV-BDA-DEV > > LDAP authentication logging with 2.15.3: > > 2021-04-28 11:53:59,114 DEBUG [ldap.LDAPSecurityProvider$1] - > Processing authentication request for user: tuser1 > 2021-04-28 11:53:59,208 DEBUG [ldap.GeoserverLdapBindAuthenticator] - > Retrieving user object using filter... > 2021-04-28 11:53:59,249 INFO [ldap.SpringSecurityLdapTemplate] - > Ignoring PartialResultException > 2021-04-28 11:53:59,250 DEBUG [ldap.BindingLdapAuthoritiesPopulator] - > Getting authorities for user CN=Test > User,OU=NonPriv,OU=Users,OU=udev,dc=udev,dc=com > 2021-04-28 11:53:59,258 DEBUG [ldap.BindingLdapAuthoritiesPopulator] - > Searching for roles for user 'tuser1', DN = 'CN=Test > User,OU=NonPriv,OU=Users,OU=udev,dc=udev,dc=com', with filter > member={0} in search base 'ou=groups,ou=udev' > 2021-04-28 11:53:59,270 DEBUG [ldap.BindingLdapAuthoritiesPopulator] - > Roles from search: [] > 2021-04-28 11:53:59,288 DEBUG > [filter.GeoServerUserNamePasswordAuthenticationFilter$1] - > Authentication success. Updating SecurityContextHolder to contain: > org.springframework.security.authentication.UsernamePasswordAuthenticationToken@c764efec: > Principal: > org.springframework.security.ldap.userdetails.LdapUserDetailsImpl@39493be2: > Dn: CN=Test User,OU=NonPriv,OU=Users,OU=udev,dc=udev,dc=com; Username: > tuser1; Password: [PROTECTED]; Enabled: true; AccountNonExpired: true; > CredentialsNonExpired: true; AccountNonLocked: true; Not granted any > authorities; Credentials: [PROTECTED]; Authenticated: true; Details: > org.geoserver.security.filter.GeoServerWebAuthenticationDetails@3bcc: > RemoteIpAddress: 10.0.0.1; SessionId: > 7946087888C889D6616C47047EA8DC2E; Granted Authorities: > ROLE_AUTHENTICATED > > Here is the data\security\auth\udev\config.xml that contains the > details of our LDAP Authentication configuration for 2.16.2: > > <ldap> > <id>-178dde25:179184fe481:-7fff</id> > <name>udev</name> > > <className>org.geoserver.security.ldap.LDAPAuthenticationProvider</className> > <serverURL>ldap://udev.com:389/dc=udev,dc=com</serverURL> > <groupSearchBase>ou=groups,ou=udev</groupSearchBase> > <groupSearchFilter>member={0}</groupSearchFilter> > <userFilter>(sAMAccountName={1})</userFilter> > <useTLS>false</useTLS> > <useNestedParentGroups>false</useNestedParentGroups> > <maxGroupSearchLevel>10</maxGroupSearchLevel> > <nestedGroupSearchFilter>(member={0})</nestedGroupSearchFilter> > <bindBeforeGroupSearch>true</bindBeforeGroupSearch> > <adminGroup>UDEV-BDA-Dev</adminGroup> > <groupAdminGroup>UDEV-BDA-Dev</groupAdminGroup> > <userFormat>{0}@udev.com</userFormat> > </ldap> > > Let me know if there is any additional information needed to help > understand the problem. > > Thanks for any help! > > Brandon > > > _______________________________________________ > Geoserver-users mailing list > > Please make sure you read the following two resources before posting to this > list: > - Earning your support instead of buying it, but Ian Turton: > http://www.ianturton.com/talks/foss4g.html#/ > - The GeoServer user list posting guidelines: > http://geoserver.org/comm/userlist-guidelines.html > > If you want to request a feature or an improvement, also see this: > https://github.com/geoserver/geoserver/wiki/Successfully-requesting-and-integrating-new-features-and-improvements-in-GeoServer > > > Geoserver-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/geoserver-users -- Dipl. Ing. Stefan Overkamp overk...@posteo.de
_______________________________________________ Geoserver-users mailing list Please make sure you read the following two resources before posting to this list: - Earning your support instead of buying it, but Ian Turton: http://www.ianturton.com/talks/foss4g.html#/ - The GeoServer user list posting guidelines: http://geoserver.org/comm/userlist-guidelines.html If you want to request a feature or an improvement, also see this: https://github.com/geoserver/geoserver/wiki/Successfully-requesting-and-integrating-new-features-and-improvements-in-GeoServer Geoserver-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/geoserver-users