人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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

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

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

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

●質問者: zero4
●カテゴリ:インターネット ウェブ制作
✍キーワード:Java JavaScript OS VBScript Web
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● satobo_77
●27ポイント

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

JavaScript例文辞典

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


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

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

JavaScript サンプル集 & HTML の基礎

ご検討をお祈りします。

◎質問者からの返答

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

追記

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

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

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

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

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

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

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


2 ● tawazou
●27ポイント

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...

◎質問者からの返答

ありがとうございます!

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

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

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

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

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

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

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

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

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

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

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


3 ● myawoo
●26ポイント

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とおっしゃっているのが具体的に何なのか分かりませんが

....

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

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

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

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

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

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

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

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ