我正在使用Spring Webflow和Spring Security的应用程序。我对这两方面都很陌生,处于学习阶段。我的问题是关于如何解密特定的弹簧流。我有以下主flow.xml其内容是 -使用Spring Security解除Spring流程
<flow xmlns ... >
<subflow-state id="demoSubflowId" subflow="demo/subflow">
<transition to="search" />
</subflow-state>
... //There are other subflows configured here
的subflow.xml存在一个名为“演示”另一个目录中。
在Spring 安全-config.xml中,我有这个配置我假设作保全webflows - 需要对应用程序中所有的流
<http access-decision-manager-ref="customAccessDecisionManager">
<intercept-url pattern="/**" access="IS_AUTHENTICATED_FULLY" />
<form-login always-use-default-target="true" default-target-url="/spring/main" login-page="/secureLogin"
authentication-failure-url="/secureLogin" />
<logout success-handler-ref="logoutSuccessHandler" />
<custom-filter position="LAST" ref="requestInspectionFilter" />
</http>
目前认证。但是现在我得到了一项任务,为不需要验证的任务创建新的子流。这就是为什么我使用id = demoSubflowId创建了新的子流程的原因,但是每次我尝试从下面的xhtml代码中打开这个流程时,它都会将我重定向到登录页面。
<a href="#" onclick="document.myForm.submit();" class="btn">Xhtml Unsecured demo</a>
<form name="myForm" action="${pageContext.request.contextPath}/spring/main?moduleId=mySubflowId" method="post"> </form>
任何人都可以帮我解决一个特定的Spring Web流/子流吗?我搜索了一下,发现如何从spring-security中排除URL。在我当前的应用程序中,我们也有servlet URL,这些URL不安全(如下所述)并在security-config.xml中配置,但我不知道如何为Spring Webflow URL执行此操作。
<http pattern="/secureLogin*" security="none" />
<http pattern="/resetPassword" security="none" />
任何帮助/建议unsecuring春季webflow将不胜感激。提前致谢。
我通过附加的moduleId的主URL像访问/春/主?的moduleId = mySubflowId。该URL在上面的第二个代码片段中提供。如果我按照自己的方式进行操作,那么有可能所有子流都不安全。我只想解除一个特定的子流程,例如。如问题中提到的mySubflowId。 – Manish
编辑我的答案 – rptmat57