WEBアプリケーションについての質問です。


JAVAでWEBアプリを作成しております。
画面に各利用者の端末のマシンID、またはOSのIDを表示させたいです。

例えば印刷物などに、どの端末から出したのか識別する方法を探しております。
(JavaScriptやVBScriptを利用してできるのかな??と)

すみませんが、ご存知の方、ご教授下さい。

回答の条件
  • 1人5回まで
  • 登録:2006/08/11 13:59:08
  • 終了:2006/08/18 14:00:04

回答(3件)

id:satobo_77 No.1

satobo_77回答回数344ベストアンサー獲得回数22006/08/11 15:26:58

ポイント27pt

http://www.openspc2.org/reibun/javascript/

JavaScript例文辞典

こういうのをお探しでしょうか?


どこからやって来たかを取得する

http://www9.plala.or.jp/oyoyon/html/index.html

JavaScript サンプル集 & HTML の基礎

ご検討をお祈りします。

id:zero4

ありがとうございます。今会社ですので、また後で確認してコメントいたします。

追記

遅くなりました。すみません。

OSやブラウザのバージョンはこれで見れそうですね。

質問内容が不明確ですみません(私自身情報が少なくて)

システムは、Windowsサーバで稼動しているWebアプリケーション(JAVA)の社内システムです。

このシステムの中で、クライアント(WindowsXP)のログイン名を取得して画面に表示することは、

可能でしょうか?ということでした。

tawazouさんのご回答の環境変数でできるかもしれません。

2006/08/12 14:04:10
id:tawazou No.2

tawazou回答回数33ベストアンサー獲得回数72006/08/11 17:18:45

ポイント27pt

WebアプリケーションであればHTTP環境変数を利用する方法もあります。

【HTTP環境変数】

http://iwamode.net/etc/cgi_env_param.html

REMOTE_HOST, REMOTE_ADDRをHTMLなどに埋め込んで返す感じになると思います。

※これ以上の情報はできません。取得できたら怖くてインターネットできないですよね。

また、PROXYサーバ経由でアクセスされた場合、PROXYのIPアドレスになります。


【Javaサーブレットでの取得方法】

http://iwamode.net/etc/cgi_env_param_sample_java.html


ちなみに、ブラウザで印刷するときのみ表示させたい(画面上は表示させない)ということであればJavaScriptのonbeforeprintイベント(印刷前に表示させる)を使えるかもしれません。(IEだけかも・・・)

http://homepage2.nifty.com/yoshi-m/makehp/dhtml/lesson/ivent...

id:zero4

ありがとうございます!

質問内容について、詳細が分かりましたので追記させて頂きます。

「システムは、Windowsサーバで稼動しているWebアプリケーション(JAVA)の社内システムです。このシステムの中で、クライアント(WindowsXP)のログイン名を取得して画面に表示することは、

可能でしょうか?」とうことでした。(最初の質問とかなり違いますね。すみません)

>【Javaサーブレットでの取得方法】

これを使えば取れそうですね。試してみて結果をご報告します。

すみません、追加で質問させて下さい。

例えば、WindowsXPでログインして(ログインID:AP\TEST)、

Windowsサーバの共有フォルダにアクセスする時に、Windowサーバ側にユーザ「AP\TEST」が登録されていれば、

最初の1回だけパスワード認証がOKであれば、その後はパスワードは聞かれませんよね。

それと同じことを、Webアプリに実装することは可能でしょうか?

もしご存知であればで結構ですので、教えて下さい(また新規に質問するかもしれませんが)

2006/08/12 14:22:36
id:myawoo No.3

myawoo回答回数21ベストアンサー獲得回数32006/08/11 23:15:48

ポイント26pt

IDとおっしゃっているのが具体的に何なのか分かりませんが

該当しそうなのはホスト名くらいでしょうか

ServletRequest#getRemoteHost()

で取得できます

しかしサーバーとクライアントの間にNATがあると駄目です

わざわざマシンID、OSのIDとおっしゃってるということはユーザーIDでは駄目なんですよねえ

WEBベースでは無理だと思います

クライアントアプリを作るのが一番確実です

WEBベースでかなり無理やりな方法ですが1つ思いつきました

1.各マシンのスタートアッププログラムにIEを使って

http://example.com/getid?id=(マシンID)

へリクエストするような仕掛けを作る(できるのかどうか不明)

2.そのURLへアクセスすると送られてきたマシンIDでCookieを返すようなServletを用意する

3.マシンIDをServletで使いたくなったらCookieから取得する

…という本当に無理やりな方法です

余程条件に恵まれていないと無理だと思います…

id:zero4

ありがとうございます!

>IDとおっしゃっているのが具体的に何なのか分かりませんが

....

>わざわざマシンID、OSのIDとおっしゃってるということはユーザーIDでは駄目なんですよねえ

すみません。私もはっきりと分かってなかったです。

取得したい情報は「ドメイン名\ログイン名」です。

質問内容を修正させて頂くと(かなりの修正ですみません)

「システムは、Windowsサーバで稼動しているWebアプリケーション(JAVA)の社内システムです。このシステムの中で、クライアント(WindowsXP)のログイン名を取得して画面に表示することは、

可能でしょうか?」とうことでした。

すべてのクライアントはドメインに参加していますので、「ドメイン¥ログイン名」が分かれば一意に識別することが可能だと思ったのですが。

尚、myawooさんに教えて頂いたマシンIDの取得については、私のスキルでは難しそうです。

2006/08/12 14:37:09

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません