[Seasar-user:4909] Re: ログインしたユーザー名を取得

Hiroyuki Onagi [E-MAIL ADDRESS DELETED]
2006年 10月 25日 (水) 13:27:03 JST


米林 こんにちは。
Onagi です。
アドバイスありがとうございます。
早速試してみました。

1.初期化 action クラスへ次の setter を追加してみました。

	public void setRequest(HttpServletRequest request) {
		this.request = request;
	}

2.初期化メソッドで次のとおり、 getRemoteUser() ユーザー名を
    取得するコードを追加しました。

	public final String initialize() {
		String user = request.getRemoteUser();
		:

3.結果、this.request に HttpServletRequest がセットされていない為、
    	NullPointerException 
    が返りました。

4.HTML の action は、次の位置へ置いています。

  <html xmlns:m="http://www.seasar.org/maya" m:extends="/WEB-INF/layout/
base-mp3.html"
	m:action="#{topMenuInitImpl.initialize}">


5.dicon ファイルへ、次の設定を追加してみましたが、やはりうまくいきませ
ん。

	<component class="javax.servlet.http.HttpServletRequest"/>

HttpServletRequest が set 出来ていない状況ですが、
プロパティ名指定方法など 間違っていますでしょうか?

以上、よろしくお願い致します。


>米林です。
>
>From: <[E-MAIL ADDRESS DELETED]>
>Sent: Wednesday, October 25, 2006 12:03 PM
>
>> Onagi と申します。
>>
>> J2JSF にて Web アプリケーションを作成しております。
>>
>> Tomcat DIGEST 認証機能を利用してログインしたユーザーの
>> ユーザー名を取得したいのですが、取得方法がわかりません。
>>
>> ご存知の方いらっしゃいましたら、ご教示お願い致します。
>>
>> 以前 perl CGI を作成した時には 環境変数 REMOTE_USER に
>> 設定されていました。同じ情報を取得したいと考えております。
>>
>> FORM 認証 であればフォームから入力したユーザー名を保持
>> する事は可能と思いますが、今回は DIGEST 認証を使用したい
>> と考えております。
>>
>> なお、環境は以下のとおりです。
>> OS: Windows XP SP2
>> Tomcat 5.0.28
>> J2JSF 1.1.0
>
>HttpServletRequest#getRemoteUser
>で取得出来ると思います。
>
>以下参照
>http://java.sun.com/j2ee/1.4/docs/api/javax/servlet/http/HttpServletRequest
>.html#getRemoteUser()
>
>ですので、S2JSFのActionにRequestのsetterを用意し
>簡単に取得可能だと思います。
>
>---
>米林 正明
>[E-MAIL ADDRESS DELETED]
>
>_______________________________________________
>Seasar-user mailing list
>[E-MAIL ADDRESS DELETED]
>https://www.seasar.org/mailman/listinfo/seasar-user



Seasar-user メーリングリストの案内