dポイントプレゼントキャンペーン実施中!

こんにちは。

現在Java+tomcat+Flex+SQL ServerでWebアプリを開発しています。
Webアプリを開いたときにWindowsのログインユーザー名を取得し、そのユーザー名がSQL Server内のユーザー情報テーブルに存在するかでアプリへのログイン制御を行いたいのですが、JavaでWindowsのログインユーザー名を取得することは可能でしょうか?

よろしくお願いします。

A 回答 (2件)

Webアプリということは、ブラウザから利用すると考えて間違いないですか?(Java Web Startではなくて)


取得したいのは接続しているクライアントのWindowsログインユーザですよね?

上記の点を踏まえて、java が動いているのはサーバー側であれば、この java は関係なく、クライアント側で動かせるプログラムからログイン情報を取得して、サーバーに送信するという事になるかと思います。

ブラウザがそのような振舞いをするとは、セキュリティ的な観点から無いと思いますので、何かクライアントプログラムを配布する必要があるのではないかと思います。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
ご指摘のとおりブラウザから使用します。クライアント側がFlexで、Server側がJavaとなります。取得したいものも、クライアントのWindowsログインユーザで間違いないです。
どうやらブラウザからは難しそうですね…
クライアントプログラム配布も視野に入れて考えなおしてみます。

お礼日時:2011/03/18 09:54

クライアントサイドのアカウントを取得するには


ブラウザ側でスクリプトにより、WMIまたはShellを
使用すれば可能ですが、ActiveXObjectを作成
するため、ブラウザのセキュリティレベルを最低に
しておかないと実行時エラーになります。
通常の運用ではとても許容されないのでは?
利用者全員がこういうことを熟知しており、その
サーバのスクリプトを信用して、実行を許可する
という前提ならJavaScriptで操作可能です。
ログインくらい手入力でもイイと思いますけどね。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
そうですよね、やっぱりセキュリティ的に厳しいですよね…
asp.netだとRequest.LogonUserIdentity.Name()って形で取得できたので、Javaでも似たようなことができないかなあ、と思った次第です。でもこれってIISも絡んでくるから難しいんですかね…手入力でもいいかどうかちょっと聞いてみます。

お礼日時:2011/03/18 09:33

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!