0

struts2 アクションで不足しているリクエスト パラメータを処理する方法を考えています。ユーザー プロファイルを表示するアクションがあるとします。このアクションは、userId パラメーターに従って、特定のユーザーのプロファイルを表示します。

このパラメーターが欠落している可能性があるという事実をどのように処理しますか (ユーザーが URL バーからアクションを直接ロードした場合、または改ざんデータ アドオンを使用した場合...)?

いくつかのオプションが表示されますが、他のオプションがあるかどうか、どれが最適か疑問に思います:

  1. 各アクションの prepare() で、期待されるパラメータが指定されているかどうかを確認し、指定されていない場合はリダイレクトします
  2. 各アクションで、リクエストを処理するメソッドでそのパラメーターを確認し、そうでない場合はリダイレクトします

また、バリデーターを使用してパラメーターが存在することを確認できると思いましたが、フォームに対してのみ機能しますね。

この質問について何か考えや意見があれば、ぜひ聞いてください。

ありがとう

4

1 に答える 1

1

検証はリクエスト パラメータで動作します。フォーム経由かリクエスト パラメータ経由かは問題ではありません。

アクションに適切なセッターがある限り (この場合はそうなります)、デフォルトの検証は正常に機能します。ユーザーが問題のプロファイルにアクセスする権利を持っているかどうかの判断は、おそらく既存のビジネス ロジックを使用してアクセス権を判断するカスタム バリデーターを使用して処理することもできます。

ただし、これらはすべて Spring Security を使用してまとめることができ、独自のインターセプターやバリデーターを作成する必要がなくなります。どのソリューションが最も適切かは、実際のニーズによって異なります。

于 2012-04-26T16:08:17.860 に答える