Strutsのロール設定

Strutsの各アクションを実行する権限がログインユーザにあるのかどうかを検証する仕組みを調査してみた(仕事で使うから)。

  • struts-config.xmlのactionタグにroles属性が存在

  (struts-configのDTDから発見)* Struts1.2から,roles属性にワイルドカードが使える。

  (「 Strutsユーザのための、Struts1.2ことはじめ」 by 豆蔵)* Servlet/JSP標準搭載の認証の仕組みだと,一旦ログインしたら,ログアウトするまで,そのユーザの属性が変わっても即反映はされない。

  (「 Strutsで認証は?」 by toyofuku blog)

3つ目の「即反映されない」についてお客さんに「それじゃダメ」って言われちゃうと,認証の仕組みを自作しなくちゃいけなくなりそうだ。でも,それさえクリアできれば,Spring AOP使って認証処理を作成しようとしてたけど,どうやら自作しなくて済みそう。

あ,roles属性に書かれたロール以外のユーザが該当アクションを実行しようとしたらどうなるんだろう・・・。ググってもヒットしないので,Struts1.2.4のソースを読むことに。RequestProcesser.javaの869行目に発見。なるほど,「403 FORBIDDEN」になるわけね。

このエントリーをはてなブックマークに追加

関連記事

2023年のRemap

Remapにファームウェアビルド機能を追加しました

Google I/O 2023でのウェブ関連のトピック

2022年を振り返って

現在のRemapと今後のRemapについて