1

Struts2 を使用していますStrutsPrepareAndExecuteFilter。の構成web.xmlは次のとおりです。

<filter>
    <filter-name>struts2</filter-name>
    <filter-class>
        org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
    </filter-class>
    <init-param>
      <param-name>struts.devMode</param-name>
      <param-value>true</param-value>
    </init-param>
  </filter>
  <filter-mapping>
    <filter-name>struts2</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>

この共通インターセプター内に認証/許可を実装する必要があります。

そのための簡単な方法は何ですか?拡張するカスタマイズされたインターセプターを作成し、StrutsPrepareAndExecuteFilterその中で実装を行うことはできますか?

4

1 に答える 1

1

のカスタマイズは絶対にしないでくださいorg.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter

他のフレームワークとは異なり、そうfinalでなくpackage protectedても、そのフィルターを拡張する必要はありません。

Struts2 アーキテクチャの基本を学ぶ必要があります。一言で言えば。

基本的なStruts2の流れを見ることができます。Struts2 はフィルターとして実装され、すべてのリクエストを処理し、Struts2 フレームワークのほとんどの機能と機能を活用するインターセプターのスタックを介してそれらをアクションにディスパッチします。

したがって、認証などの機能を追加したい場合は、まず認証インターセプターを介して拡張することを検討する必要があります。このインターセプターは、着信要求からのすべてのアクションで呼び出されるように構成する必要があります。struts2 でインターセプターstruts.xmlをすべてのアクション クラスに追加する方法を参照してください。

後で、認証目的でカスタム インターセプターを作成するために使用できるリンクがあります。onを使用せずに別のアクションクラスにリダイレクトする方法はありますかを参照してくださいstruts.xml

于 2016-04-26T08:58:29.627 に答える