- PR -

role確認:isUserInRole

1
投稿者投稿内容
kejiuyudu
ベテラン
会議室デビュー日: 2004/08/11
投稿数: 82
投稿日時: 2004-11-26 13:37
"Administrator"というroleでアクセス権限をかけたページに飛ぶのですが、そのページにrole名確認として、isUserInRole("Administrator")を使用してら、falseが戻ってきてしまいます。boolean型としてではなく、String型として、role名を確認するメソッドを教えてください。
uk
ぬし
会議室デビュー日: 2003/05/20
投稿数: 1155
お住まい・勤務地: 東京都
投稿日時: 2004-11-26 14:39
引用:

kejiuyuduさんの書き込み (2004-11-26 13:37) より:
"Administrator"というroleでアクセス権限をかけたページに飛ぶのですが、そのページにrole名確認として、isUserInRole("Administrator")を使用してら、falseが戻ってきてしまいます。boolean型としてではなく、String型として、role名を確認するメソッドを教えてください。


まず、isUserInRoleというのは、HttpServletRequestクラスのメソッドのことでしょうか。
そうだとして、isUserInRoleは文字通りログインユーザが指定のロールを割り当てられている
かどうかを返すメソッドですが、やりたいことは違うようですね。何をしたいんでしょうか。
ユーザに割り当てられているロールを全部取得したいとか?
kejiuyudu
ベテラン
会議室デビュー日: 2004/08/11
投稿数: 82
投稿日時: 2004-11-26 15:25
ukさん、こんにちは。やっていることは、ukさんのおっしゃるとおりです。

*************
●ベーシック認証からユーザ(admin)・パス(01234)

●指定のロール(Administrator)を取得

●サーブレット(含む:EJBへの処理)へ行き、ブラウザーに結果を返す
また、EJBのアクセスにも呼び出し元(サーブレット)の認証情報を引き継ぐ形をとりました。
すべての処理は問題なくうまくいきます。


*************
●次に、サーブレット内に
System.out.println( request.isUserInRole( "Administrator" ) );
EJB内には
System.out.println( sessionContext.isCallerInRole( "Administrator" ) );
をそれぞれ追加

●結果:ユーザが属するロール(Administrator)確認
サーブレット :false
EJB  :true

そこで、false原因を調べたくて、戻り値String型のメソッドがないか知りたい所存であります。

[ メッセージ編集済み 編集者: kejiuyudu 編集日時 2004-11-26 16:04 ]
kejiuyudu
ベテラン
会議室デビュー日: 2004/08/11
投稿数: 82
投稿日時: 2004-12-04 03:22
すみません。未熟者ゆえ、未だに解決ができません。何か手立てはないでしょうか?

また、認証形式をDIGESTにすると、何度もユーザ名・パスを尋ねてきます。

[ メッセージ編集済み 編集者: kejiuyudu 編集日時 2004-12-04 03:37 ]
1

スキルアップ/キャリアアップ(JOB@IT)