0

私のプロジェクトはstruts1.2です。struts1.2 に Token インターセプター (struts2) を実装するものはありますか? を使用して実装できることを知っています

  1. saveToken(HttpServletRequest req)
  2. isTokenValid(HttpServletRequest req)
  3. resetToken(HttpServletRequest req)

しかし、すべてのアクションに上記を追加したくありません。

4

3 に答える 3

2

私は struts2 を知っていますが、struts1 は知りません (したがって、これらの解決策はその角度から攻撃するため、struts1 の人はこの問題に関してはるかに優れた解決策を持っている可能性があります):

1) Spring を追加します (まだ存在しない場合)... AOP を使用してこれらのメソッドを追加します。[コスト: 新しい技術を習得できる可能性がある]

2) Struts1 の横に Struts2 を使用し、.action を struts2 に、.do を struts1 にマッピングします... struts2 パッケージを作成します。これは、おそらく "token" と呼ばれ、ワイルドカードを使用して適切なアクションで /token にマップされ、スローされたものをキャプチャします。 .. struts1 アクションに転送します。PS : あなたはどうやってそれを行うことができるのかと尋ねました... これは決して美しいとは言えません。[コスト: マッピング ロジックが複雑になる]

3) すべてを struts2 に変換し、トークン インターセプターを使用します。【コスト:時間のかかる投資】

4) アクションが拡張する新しい基本アクション クラスを作成し、それらのメソッドを実装します。

于 2012-04-03T16:14:27.980 に答える
0

Struts 2 で TokenInterceptor を使用する場合は、tokenSession インターセプターを参照する必要があります。
特定のアクションで struts.xml の name="invalid.token" によって結果を処理する必要がありました。
アクションが生成されたページで、ヘッダーに s:token タグを記述する必要があります

于 2012-09-26T13:15:29.770 に答える