2

私は Struts 2 を使用しており、アクションのプライベート パッケージを持っています。これは、特定のアクションにアクセスするにはログインが必要だからです。だから私は安全なパッケージにこれを持っています:

<interceptors>
    <interceptor name="authenticationInterceptor" class="com.koorde.interceptor.AuthenticationInterceptor"/>
        
    <interceptor-stack name="secureStack">
      <interceptor-ref name="authenticationInterceptor"/>
      <interceptor-ref name="defaultStack"/>    
    </interceptor-stack>
</interceptors>
    
<default-interceptor-ref name="secureStack"/>

<global-results>
    <result name="login" type="redirect">dologin</result>
    <result name="session_error" type="redirect"> html/error/hibernate_session.jsp</result>
    <result name="error" type="redirect"> html/error/hibernate_session.jsp</result>
</global-results>

そしてもちろん、他のアクション定義。

私の問題は次のとおりです。

ユーザーが自分の個人領域にアクセスしたいとしましょう。彼がpersonalAreaリンクをクリックすると、ログイン ページに自動的にリダイレクトされます (personalAreaこれは安全なアクションです)。私が欲しいのは、ログインユーザーが(アクションを続行するために)personalAreaホームページではなく自動的にリダイレクトされることです。

だから、私が欲しいのは、ユーザーが安全なアクションのためにシステムにログインすると、ログイン後にアクション(保護された)の実行が続行されることです。

どうやってやるの?

4

2 に答える 2

0

最後に、私はそれを機能させることができました。基本的に、Roman C. によって提案された解決策から逃したのは、クラス変数を保存する必要があるということでした (そのため、セッション内にあるだけではありません)。

プライベート文字列のsavedUrl;

public String getSavedUrl(){
    return savedUrl;
}

それはトリックをしました。

ありがとう

于 2013-08-24T12:47:33.063 に答える