gpt4 book ai didi

java - 如何在调用 LDAP 之前设置 Spring Security MD5 密码

转载 作者:太空宇宙 更新时间:2023-11-04 08:28:20 26 4
gpt4 key购买 nike

我正在开发一个使用 Spring 和 Spring Security 与 LDAP 的项目。在对用户密码进行 MD5 处理之前,我的项目与 LDAP 配合得很好。现在我们对用户密码进行 MD5 处理,我正在尝试在 Spring XML 中找到一种方法,在检查 LDAP 之前告诉 Springs 对密码进行 MD5 处理。

下面是我的 XML

<?xml version="1.0" encoding="UTF-8"?>

<beans:beans xmlns="http://www.springframework.org/schema/security"
xmlns:beans="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:jdbc="http://www.springframework.org/schema/jdbc"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/jdbc
http://www.springframework.org/schema/jdbc/spring-jdbc-3.0.xsd
http://www.springframework.org/schema/security
http://www.springframework.org/schema/security/spring-security-3.0.xsd">

<http auto-config="true" use-expressions='true'>
<intercept-url pattern="/friends/**" access="isAuthenticated()" />
<intercept-url pattern="/articles/**" access="isAuthenticated()" />
</http>

<authentication-manager>
<ldap-authentication-provider
user-search-filter="(uid={0})" user-search-base="ou=sampleusers" />
</authentication-manager>


<beans:bean id="contextSource"
class="org.springframework.security.ldap.DefaultSpringSecurityContextSource">
<beans:constructor-arg value="ldap://localhost:389/dc=xxxwf,dc=org" />
<beans:property name="userDn" value="cn=admin,dc=xxxwf,dc=org" />
<beans:property name="password" value="sabrina123" />
</beans:bean>
<beans:bean id="ldapAuthProvider"
class="org.springframework.security.ldap.authentication.LdapAuthenticationProvider">
<beans:constructor-arg>
<beans:bean
class="org.springframework.security.ldap.authentication.BindAuthenticator">
<beans:constructor-arg ref="contextSource" />
<beans:property name="userDnPatterns">
<beans:list>
<beans:value>uid={0},ou=sampleusers</beans:value>
</beans:list>
</beans:property>
</beans:constructor-arg>

</beans:bean>
<ldap-server url="ldap://127.0.0.1:389/dc=xxxwf,dc=org" />

<beans:bean id="propertyConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<beans:property name="location" value="classpath:jdbc.properties" />


</beans:bean>
<beans:bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<beans:property name="driverClassName" value="${database.driver}" />
<beans:property name="url" value="${database.url}" />
<beans:property name="username" value="${database.user}" />
<beans:property name="password" value="${database.password}" />
<beans:property name="initialSize" value="5" />
<beans:property name="maxActive" value="10" />
</beans:bean>
</beans:beans>

最佳答案

密码应通过安全连接以明文形式发送,不应使用摘要进行预编码或以任何方式进行预编码 - 预编码密码会阻止目录服务器执行密码质量检查。目录服务器对明文密码进行加密或哈希处理,并将该密码与目标条目中加密/哈希处理的密码进行比较,并在绑定(bind)响应中返回成功或失败。

关于java - 如何在调用 LDAP 之前设置 Spring Security MD5 密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8054134/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com