配置spring security ldap-server属性以根据部署的环境使用不同的url

时间:2013-08-09 19:00:46

标签: spring-security spring-security-ldap

我们正在使用弹簧安全并使其运行良好。我试图找出一件不明显的事情 - 如何根据部署的环境配置ldap-server属性以使用不同的URL?

这就是我的工作:

<ldap-server url="ldap://testserver:port/o=blah" manager-dn="cn=bind,ou=Users,o=blah" manager-password="password"/>

<authentication-manager id="authenticationManager" alias="authenticationManager">
<ldap-authentication-provider            
    user-search-filter="(cn={0})"           
    user-search-base="ou=Users"           
    group-search-filter="(uniqueMember={0})"           
    group-search-base="ou=groups"           
    group-role-attribute="cn"           
    role-prefix="none">         
</ldap-authentication-provider>

现在,如何根据部署的环境将其配置为使用不同的URL?

提前谢谢, 沙拉斯

2 个答案:

答案 0 :(得分:0)

我使用Spring配置文件做到了这一点:

在你的春天。*。xml配置文件在文件的末尾使用它:

<beans profile="production">
...
</beans>
<beans profile="local">
...
</beans>

作为VM Arguments必须提供使用的配置文件:  -Dspring.profiles.active =生产

此致

答案 1 :(得分:0)

您可以将url用作变量并将其设置在属性文件中。 要更改属性文件应该更容易。我知道你可以用Maven做 - 用jar或war插件取决于打包,包括用一次执行生成两个(或更多)包 - 但我想你也可以用Ant或其他经理。

当然,您可以使用该解决方案来更改整个xml,但使用属性文件更容易实现,因为这样,在更改配置时,标记不会妨碍,只有变量和值。