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」になるわけね。

Trackback URL:

コメントを残す

コメントを投稿するにはログインしてください。

Get Adobe Flash playerPlugin by wpburn.com wordpress themes