1

私はSpring WebflowとSpring Securityを使用するアプリケーションを開発中です。私は両方の学習段階で新しいです。私の質問は、特定のスプリングフローをどのように保護しないかについてです。私は、その内容が以下メインflow.xmlを持っている -春のセキュリティを使用して春の流れを安全にしない

<flow xmlns ... > 
<subflow-state id="demoSubflowId" subflow="demo/subflow"> 
    <transition to="search" /> 
</subflow-state> 

... //There are other subflows configured here 

subflow.xmlは「デモ」という名前の別のディレクトリ内に存在しています。春セキュリティ-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フロー/サブフローのセキュリティ保護を解除する方法を教えてもらえますか?私はgoogledと春のセキュリティからURLを除外する方法を発見した。私の現在のアプリでも、(以下に示すように)セキュリティ保護されていないservlet URLがあり、security-config.xmlで設定されていますが、Spring webflow URLに対してこれを行う方法はわかりません。

<http pattern="/secureLogin*" security="none" /> 
<http pattern="/resetPassword" security="none" /> 

スプリングウェブフローを保護しないための助言やアドバイスはありがとうございます。前もって感謝します。

答えて

0

あなたの構成内のケースのように思われる/mainを使用して、あなたの流れにアクセスすると仮定すると、あなたは「安全でない、それは」この使用することができるはずです。

<http pattern="/main" security="none" /> 

は、[EDIT]

それは完璧ではありませんが、あなたのメインの流れで、手動で<secured>使用して他のサブフローを確保することができます

<secured attributes="ROLE_USER" /> 
+0

は私がメインのURLのようなモジュールIDを付加することによって、それをアクセス/春/ main?moduleId = mySubflowId。このURLは、上の2番目のコードスニペットで提供されています。私があなたのやり方をする場合、すべてのサブフローが保護されていない可能性があります。私はちょうど特定のサブフローなどのセキュリティを解除したい。 mySubflowIdは質問に記載されています。 – Manish

+0

私の答えを編集しました – rptmat57

関連する問題