如何在cas-login流中访问spring webflow中的配置属性

时间:2014-10-31 11:28:31

标签: cas spring-webflow-2

这可能是一个非常简单的Spring EL问题。我在cas login-flow中定义了一个新的end-state,如下所示:

的https://为myhost:8443 / MyModule的/ SomePage的" />

我们需要使用cas.properties中定义的URL,而不是使用externalRedirect新名称对URL进行硬编码。是否可以使用

并在cas.properties中定义myurl。

我们是CAS 3.5.2

2 个答案:

答案 0 :(得分:0)

也许这不是您正在寻找的解决方案,但我使用了cas-servlet.xml中定义的bean。

<bean id="loadUrls" class="yourpackage.LoadUrls" c:url="${cas.property.myUrl}"/>

然后,在LoadUrls类中,我有以下代码:

public class LoadUrls{
    private String url;

    public LoadUrls(String url) {
        this.url= url;
    }

    public void loadUrlsFromWebflow(RequestContext context) {
        // [I used flowScope, you can use any other if you want]            
        context.getFlowScope().put("urlWebflow", this.url);
    }
}

您需要的最后一件事是从Webflow调用此方法:

<action-state id="stateLoadUrl">
    <evaluate expression="loadUrls.loadUrlsFromWebflow(flowRequestContext)"/>
    <transition to="redirectAction"/>
</action-state>

<end-state id="redirectAction" view="externalRedirect:#{flowScope.urlWebflow}"/>

这只是一个想法,您可以调整它以满足您的需求。顺便说一下,如果你只使用EL Spring表达式找到解决方案,请告诉我,因为我需要同样的东西!

答案 1 :(得分:0)

我遇到了同样的问题,但找到了一个更好的解决方案。

<view-state id="orderExternalView" view="externalRedirect:#{propertyConfigurer.getProperty('link.externalOrderView')}" />