2013-04-18 70 views
0

我在寫一個使用spring安全插件的grails應用程序,並且想使用spring ldap插件。我需要能夠在不重新編譯的情況下更改ldap設置,所以我不相信我可以在配置文件中設置它。我已經得到了這個與不同的ldap插件一起工作,但他們不喜歡我喜歡的彈簧安全。無論如何要做到這一點?動態LDAP與Grails中的彈簧安全

回答

1

一個方便的選擇可能是使用外部配置文件(在Grails文檔中描述here)。

例如,您可能會創建一個包含Spring Security/LDAP配置的單獨custom-ldap-settings.properties文件。的部分樣本:

... 
grails.plugins.springsecurity.ldap.context.server = ldap://<AD Domain IP Address> 
grails.plugins.springsecurity.ldap.search.base = ou=Accounts,dc=domain,dc=com 
grails.plugins.springsecurity.ldap.search.filter = (AccountName={0}) 
... 

然後可以把這個.properties文件在classpath部署,然後在Config.groovy合併這些設置到您的主要配置:

grails.config.locations = [ "classpath:custom-ldap-settings.properties" ] 

您可以更改這個外部.properties文件,而無需重新編譯或重建.war文件。更新properties文件中的設置後,您只需重新啓動應用程序或容器(即Apache Tomcat)即可。

+0

這個答案部分是我想要的。這並沒有爲我工作,因爲我相信和所有的一切都打破了,我在classpath之後有一個空間。甚至不需要重啓apache就可以使其工作。我最終使用了groovy ldap庫,這可以讓您在每次進行身份驗證時都會輪詢ldap。可能沒有那麼快。但任何人都知道。 – user1032951