applicationContext.xml tiene dos valores referente a los roles:
Code: Select all<beans:property name="rolePrefix" value="ROLE_"/>
<security:intercept-url pattern="/admin/**" access="ROLE_ADMIN" />
debo cambiar los dos? En el caso del primero, seria GSL_OpenKm solamente, sin el _Admin?
El problema es que no logea, da authentication error en rojo, y no arroja nada alusivo en el catalina.log
Creamos un grupo GSL_OpenKM_Admin y coloqué mi usuario fleon dentro de dicho grupo
Este es mi usuario fleon:
CN=Francisco Leon,OU=Coordinador,OU=Apoyo,OU=Informatica,OU=Departamentos,OU=Maracaibo,OU=Oficina,OU=CORP,DC=seguroscatatumbo,DC=com
memberOf=CN=GSL_OpenKm_Admin
Estas son las partes relevantes de mi openkm.xml
Code: Select all<security:authentication-manager alias="authenticationManager">
<security:authentication-provider ref="ldapAuthProvider"/>
</security:authentication-manager>
<beans:bean id="ldapAuthProvider" class="org.springframework.security.ldap.a
uthentication.LdapAuthenticationProvider">
<beans:constructor-arg ref="ldapBindAuthenticator"/>
<beans:constructor-arg ref="ldapAuthoritiesPopulator"/>
</beans:bean>
<beans:bean id="contextSource" class="org.springframework.security.ldap.DefaultSpringSecurityContextSource">
<!-- MS Active Directory -->
<beans:constructor-arg value="ldap://192.168.x.x:389/"/>
<beans:property name="userDn" value="CN=apoyo,OU=Apoyo,OU=Informatica,OU
=Departamentos,OU=Maracaibo,OU=Oficina,OU=CORP,DC=seguroscatatumbo,DC=com"/>
<beans:property name="password" value="xxxxxxx"/>
<beans:property name="baseEnvironmentProperties">
<beans:map>
<beans:entry key="java.naming.referral" value="follow" />
</beans:map>
</beans:property>
</beans:bean>
<beans:bean id="ldapBindAuthenticator" class="org.springframework.security.ldap.authentication.BindAuthenticator">
<beans:constructor-arg ref="contextSource"/>
<beans:property name="userSearch" ref="userSearch"/>
</beans:bean>
<beans:bean id="userSearch" class="org.springframework.security.ldap.search.FilterBasedLdapUserSearch">
<!-- MS Active Directory -->
<!-- user-search-base; relative to base of configured context source -->
<beans:constructor-arg index="0" value=""/>
<!-- user-search-filter -->
<beans:constructor-arg index="1" value="(sAMAccountName={0})"/>
<beans:constructor-arg index="2" ref="contextSource"/>
</beans:bean>
<beans:bean id="ldapAuthoritiesPopulator" class="org.springframework.security.ldap.userdetails.DefaultLdapAuthoritiesPopulator">
<beans:constructor-arg ref="contextSource" />
<beans:constructor-arg value="" />
<beans:property name="groupSearchFilter" value="(member={0})"/>
<beans:property name="groupRoleAttribute" value="CN" />
<beans:property name="rolePrefix" value=""/>
<beans:property name="searchSubtree" value="true"/>
<beans:property name="convertToUpperCase" value="false"/>
<beans:property name="ignorePartialResultException" value="true"/>
</beans:bean>
Configuración en la base de datos:
Code: Select all principal.adapter | string | com.openkm.principal.LdapPrincipalAdapter
principal.ldap.server | string | ldap://192.168.xxx.xxx:389
principal.ldap.security.principal | string | CN=apoyo,OU=Apoyo,OU=Informatica,OU=Departamentos,OU=Maracaibo,OU=Oficina,OU=CORP,DC=seguroscatatumbo,DC=com
principal.ldap.security.credentials | string | ********
principal.ldap.user.attribute | string | sAMAccountName
principal.ldap.user.search.base | list | dc=seguroscatatumbo,dc=COM
principal.ldap.user.search.filter | string | (&(objectclass=user)(|(memberOf=CN=GSL_OpenKM_Admin,OU=Apoyo,OU=Informatica,OU=Departamentos,OU=Maracaibo,OU=Oficina,OU=CORP,DC=seguroscatatumbo,DC=com)(memberOf=CN=GSL_OpenKM_User,OU=Apoyo,OU=Informatica,OU=Departamentos,OU=Maracaibo,OU=Oficina,OU=CORP,DC=seguroscatatumbo,DC=com))) |
Voy a ir probando con el applicationContext a ver