我正在使用LDAP完成身份驗證的應用程序。我沒有在本地機器上安裝LDAP,由於某些原因,我無法安裝它。創建存根登錄頁面
我如何創建一個存根登錄頁面,我只需輸入用戶名和一些仲裁密碼並且用戶獲得認證。認證後的會話應創建並呼叫喜歡:
request.getUserPrincipal().getName()
應該回到我的登錄頁面上輸入的用戶名。
我有它基於的Spring Java/J2EE應用基礎,休眠(如果這能幫助)
我正在使用LDAP完成身份驗證的應用程序。我沒有在本地機器上安裝LDAP,由於某些原因,我無法安裝它。創建存根登錄頁面
我如何創建一個存根登錄頁面,我只需輸入用戶名和一些仲裁密碼並且用戶獲得認證。認證後的會話應創建並呼叫喜歡:
request.getUserPrincipal().getName()
應該回到我的登錄頁面上輸入的用戶名。
我有它基於的Spring Java/J2EE應用基礎,休眠(如果這能幫助)
即使你不檢查密碼,你需要輸入的名稱與用戶ID匹配的是認證。爲此,您需要通過記錄進行查詢,這意味着在本地系統上設置LDAP。
如果您不能這樣做,請嘗試OpenLDAP或其他替代方法。
您可以使用不需要任何安裝的ApacheDS,並在本地啓用嵌入式LDAP服務器。
我們將此場景用於集成測試和開發模式。
這裏是春天的安全提供者配置的配置:
<ldap-server ldif="classpath:ldap-users.ldif" port="33389" root="dc=yourCompany,dc=com" />
<beans:bean id="contextSource" class="org.springframework.ldap.core.support.LdapContextSource">
<beans:property name="url" value="ldaps://127.0.0.1:33389/dc=yourCompany,dc=com"/>
<beans:property name="userDn" value="cn=Manager,cn=Users"/>
<beans:property name="password" value="secret"/>
</beans:bean>
<beans:bean id="ldapTemplate" class ="org.springframework.ldap.core.LdapTemplate" >
<beans:constructor-arg ref="contextSource" />
</beans:bean>
此文件,並指向真正的LDAP服務器productionfile之間的唯一區別是配置行:
<ldap-server ldif="classpath:ldap-users.ldif" port="33389" root="dc=yourCompany,dc=com" />
而且我們在定義LDAP模式(Oranizations ...)的類路徑中提供ldap-user.ldif
,並填充一些用戶進行測試。
最後添加到您的依賴關係:
<dependency>
<groupId>org.apache.directory.server</groupId>
<artifactId>apacheds-server-jndi</artifactId>
<version>1.5.5</version>
</dependency>
,如果你不使用Maven剛纔下載的罐子,把它放在你的classpath。
希望它是幫助。
我希望存根認證過程。無法在本地機器上設置LDAP。 – Ankit
我明白了。因此,使用一些預定義的返回值(存根用戶)替換您驗證的函數。 –
@downvoter謹慎解釋? –