- PR -

JSPでユーザIDを取得

1
投稿者投稿内容
たっく
会議室デビュー日: 2003/01/15
投稿数: 3
投稿日時: 2003-01-15 12:45
お世話になっております。
JSPでクライアントのログインIDを取得することはできないでしょうか?
ASPの「Request.ServerVariables("LOGON_USER")」と同じことができればいいのですが、Java経験がないもので実現方法が示せず困っています。
ご教示宜しくお願い致します。
みやも
ベテラン
会議室デビュー日: 2002/04/22
投稿数: 74
投稿日時: 2003-01-16 01:44
>JSPでクライアントのログインIDを取得することはできないでしょうか?

ログインIDって何のことでしょうか?

ServletAPIの認証の仕組みを使うなら
request.getRemoteUser()
で認証後のユーザ名を返すというのもありますが。。。
たっく
会議室デビュー日: 2003/01/15
投稿数: 3
投稿日時: 2003-01-16 09:43
実際の利用環境を書いてませんでした。すみません。
ActiveDirectoryドメイン環境でJSPを使用しイントラ構築をします。
(Webサーバ:IIS5、APサーバ:Cosminexus)
ブラウザからアクセスしてきたユーザのログオンIDを自動取得し
利用可能機能を制御させます。つまり、Webページでの認証フォーム
なしでユーザを識別したいということです。

ご教示いただいたgetRemoteUser、何となくいい感じのような気が
しますがいかんせん初心者なもので実行あるのみで試してみます。
何かコメントありましたら宜しくお願い致します。
みやも
ベテラン
会議室デビュー日: 2002/04/22
投稿数: 74
投稿日時: 2003-01-17 00:53
JavaのWebアプリケーションの認証の仕組みでは、
BASIC認証、DIGEST認証、FORM認証などに対応しています。
ユーザID、パスワード、ロールの情報などの情報は、
通常、RDBやLinuxユーザなどをひっぱってこれるらしいです。
web.xmlとサーバー側の設定を書くだけで、
簡単にシングルサインオンの仕組みが実現できます。

が、ActiveDirectoryですよね。
イチイチBASIC認証とかしたくないですよね。
IISなどで、そういうAPIが用意されてればいけそうな気もしますが、
どうするもんでしょう?
たっく
会議室デビュー日: 2003/01/15
投稿数: 3
投稿日時: 2003-01-17 10:17
getRemoteUser色々試してみましたが、常にNullが返ってきてしまいます。
Win2000認証でそのユーザIDを取得するなんて一般的にやらないのでしょうかね。
とりあえず時間がないのでフレームをASPのServerVariablesでユーザID取得して
その情報をターゲットのJSPページに渡すような手法で実現することにします。
(ホントはJavaのみでやってみたかったのですが...)

色々試行錯誤することにより随分と勉強させていただきました。
みやもさんありがとうございます。
latte
常連さん
会議室デビュー日: 2002/11/07
投稿数: 38
投稿日時: 2003-01-17 11:20
私自身、使ったことがないので、詳しいことは
わからないのですが、
JAAS (Java Authentication And Authorization Service)
というのがあります。

LDAPやNTのログイン認証などのOS固有の機構にとらわれない
仕組みになっていて、これを使って認証機能を作ったりできるようです。
何号か前のJavaWorldで読んだ覚えがあります。
去年の、8月号だったかなぁ。

こういうのを利用したりするんでしょうか・・・?
unibon
ぬし
会議室デビュー日: 2002/08/22
投稿数: 1532
お住まい・勤務地: 美人谷        良回答(20pt)
投稿日時: 2003-01-17 12:02
unibon です。こんにちわ。

引用:

たっくさんの書き込み (2003-01-15 12:45) より:
ASPの「Request.ServerVariables("LOGON_USER")」と同じことができればいいのですが、Java経験がないもので実現方法が示せず困っています。


これは
http://www.microsoft.com/JAPAN/developer/library/jpiis/core/iiabasc.htm#challenge
の「統合 Windows 認証」を使われているのだと思います。

引用:

たっくさんの書き込み (2003-01-17 10:17) より:
とりあえず時間がないのでフレームをASPのServerVariablesでユーザID取得して
その情報をターゲットのJSPページに渡すような手法で実現することにします。
(ホントはJavaのみでやってみたかったのですが...)


この仕組みだと ASP 側では認証できていますが、
JSP 側では認証できていないですが、
ASP のサーバと JSP のサーバの間で認証の情報をやりとりしていれば大丈夫だと思います。
しかし、もしもそのような情報がサーバ同士でやりとりされていないと
ダメ(認証になっていない)でしょう。
1

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