マンガでよめる痔のこと・薬のこと

JavaScriptでWindowsログオンIDを取得したいと考えております。
Webのシステムで特定のWindowsログオンIDの場合のみに提供したい機能があるためです。
このWebのシステム自体にはログインという行為はないため、そのユーザIDで判断することができないため、WindowsログオンIDを用いたいと考えいています。
以上、よろしくお願いします。

A 回答 (2件)

そんなユーザーの個人情報を抜くような悪質な機能はブラウザには


ついていないと思いますが・・・。
仕様自体再検討してください。
    • good
    • 1
この回答へのお礼

ありがとうございます。現行はASPで実現しており
Javaで再構築する際に同じことをしたかったのですが
やはり無理なのですね。

お礼日時:2006/11/16 01:26

ASPであればサーバー側で取得できますけど


Javascriptでは見かけませんね。
    • good
    • 1
この回答へのお礼

ありがとうございます。
そうですね、現在はASPで実現しています。
Javascriptでは無理なのですね、きっと。

お礼日時:2006/11/16 01:27

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

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QPHPからWindowsログインユーザー名取得

はじめまして、tenbinです。
PHPからWindowsログインユーザー名を
取得する方法はありますでしょうか?
会社では必ず、Windowsログインユーザー名を入力するため、
ユーザー名をキーにできれば、わざわざパスワード入力必要なく、
アクセス制御できると思っています。
わかる方がいらっしゃいましたら、教えてください。
よろしくお願いします。

[開発環境]
Windows Server 2008
PHP 5.2
Apatch2.2

Aベストアンサー

回答ではありませんが。

ASPとIEの組み合わせであれば、そのような機能ができるようですね。
http://dobon.net/vb/bbs/log3-1/197.html
実際、そのような動作をしている、グループウェアをみたことがあります。
ChromeやFoxでは、ログイン認証画面が出てました。

あと、できるかどうかは分かりませんが、
IPアドレスが、ユニークなら、認証サーバにPHPから問い合わせるって方法が
使えそうな・・・

単なる思いつきです。すみません。

QJavaScriptにおいてコンピュータ名を取得するには??

どうしたらよいでしょうか??

よろしくおねがいします!!!!

Aベストアンサー

すいません、期待させてしまって。
コンピュータ名をWindowsアカウントと勘違いしておりました。

言語は何を使用されているか分かりませんが、VBScriptでは
次のとおりです。
ご存知かとは思いますが、サーバー側で環境情報を取得するには、

Request.ServerVariables ( 変数名 )

を使用します。
LOGON_USER・・・ ログインした Windows アカウント

で取得します。

本題に関しては、分かり次第、また、回答させていただきます。

どのようなことをしたいのか?
また、サーバー側言語は何なのか?
クライアント側言語は何なのかをご教授して頂くと、代案等を考えることができると思います。

QJAVAでWindowsのアカウント名を取得する

こんにちは。

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

よろしくお願いします。

Aベストアンサー

Webアプリということは、ブラウザから利用すると考えて間違いないですか?(Java Web Startではなくて)
取得したいのは接続しているクライアントのWindowsログインユーザですよね?

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

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

QHTMLからフォルダを開きたい

いつも大変お世話になります<(_ _)>

Webサーバー上にあるWebページ(HTML)の中に、ローカルPCのフォルダを開くリンクを付けたいのですが、
<a href="file://c:\windows">OPEN</a>
としても、何も反応しません。

いろいろ調べたのですが、上記の方法しか見あたりません。

なお、ブラウザのアドレス欄に file://c:\windows と入力すると、フォルダの内容が表示されます。
※Firefoxだと、ファイルの一覧になりますが・・・

何か環境によって挙動が異なるのでしょうか?
それとも、セキュリティ上の観点から最近じゃ出来なくなっているのでしょうか?

是非ともお助け下さい。宜しくお願い致します。

Aベストアンサー

file:///C:/windows/
/は三つでは・・・
 IEの場合はエクスプローラ(ファイルマネージャ)が開くような・・・
 IEはファイルマネージャーと一体のブラウザなので・・・

★実は、ローカルサーバーが必要です。
 apacheでも何でも良いので、WEBデータの入っているフォルダーを
<VIRTUALHOST 127.0.0.1>
C:\Document and settings\my document\web
 とかに指定して、Windowsのhostsファイルで、適当なサーバー名を指定しておきます。
myLocalhost 127.0.0.1
とか・・・

 そうすると
http://myLoclahost/
 で開けます。

 

QIIS7.0上でASP.netでAD情報取得したい

ASP.netをVS2008(言語はVB)で開発しています。ローカル(WinXP)ではAD情報が取得できるのに、
WindowsServer2008(IIS7.0)上で実行したらエラーになりました。

エラー内容:「操作エラーが発生しました」
場所 System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail)
-------------------------------------
コード:
Dim nameCheck As String = System.Security.Principal.WindowsIdentity.GetCurrent.Name.ToString()
Dim serverPath As String = "LDAP://servername/DC=hogehoge,DC=local"

Dim entry As New System.DirectoryServices.DirectoryEntry(serverPath)
'ログオンユーザーを変数へ代入
Dim lgUser As String = Environment.UserName

Dim search As New System.DirectoryServices.DirectorySearcher()
' 検索のルートになるDirectoryEntryを指定
search.SearchRoot = entry
' 検索条件を指定します。下ではアカウント名と変数lgUserの一致が条件
search.Filter = "(samAccountName=" + lgUser + ")"
Dim result As System.DirectoryServices.SearchResult
result = search.FindOne
-------------------------------------
この↑FindOneでエラーになります。
lgUserにはユーザーID、
nameCheckにも、ドメイン名/ユーザーIDで、予定通りの値が取得出来ていることを確認しています
(※nameCheckはコード上必要ありませんが
思った通りの動きをしているか確認のため取得し、エラー時に表示して確認しました)

IIS7.0上では、IISマネージャを使用して、
「認証」で
・ASP.NET偽装
・Windows認証
を有効とし、他(フォーム認証、基本認証、匿名認証)はすべて無効にしています

lgUserにセットされる値はIDなので、
AD情報から、該当する人の名前と、メールアドレスを取得したいです。
(イントラネット上でデフォルト表示に使用します)
IIS7.0上で、ADに接続できるような設定が必要なのかな?と思っているのですが
具体的にどこをどうしたらよいのかわからず、途方に暮れています

こちらの情報が少ないようでしたら追加致します。
もう3日くらい詰まっているので、ヒントだけでも教えていただけると助かります。
よろしくお願いいたします。

ASP.netをVS2008(言語はVB)で開発しています。ローカル(WinXP)ではAD情報が取得できるのに、
WindowsServer2008(IIS7.0)上で実行したらエラーになりました。

エラー内容:「操作エラーが発生しました」
場所 System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail)
-------------------------------------
コード:
Dim nameCheck As String = System.Security.Principal.WindowsIdentity.GetCurrent.Name.ToString()
Dim serverPath As String = "LDAP://servername/DC=hogehoge,DC=local"

Dim...続きを読む

Aベストアンサー

ただのユーザで偽装しているので、AD内オブジェクトの検索ができない(権限がない)のではないかと。

アプリケーションプールアカウントにそれなりの権限を付与し、偽装をやめて、操作者のユーザID 自体は My.User.Name で取得するか、
アプリケーションプールアカウントはデフォルトで、ADの検索する時だけコーディングで偽装するかでいけると思います。

QVBAでActiveDirectoryのユーザ一覧の取得の仕方

Excel VBAにてActiveDirectoryのユーザなどの管理をしたいと考えています。
(理由:操作ミスなどを防ぐために、AD操作は全てExcelからにしたい)

情報を取得する対象のユーザが分かっていれば、以下の方法で、情報を取得可能かと思います。
(実行するユーザが、ADの操作権限がある前提で、suzukiというユーザの情報を取得する場合)
Dim objSysInfo
Dim objUser
Set objSysInfo = CreateObject("ADSystemInfo")
Set objUser = GetObject("LDAP://CN=suzuki,OU=OU123_ユーザー,OU=OU123,DC=ad,DC=test,DC=com")
 AD:ad.test.com
 OU:OU123→OU123_ユーザー

OU123_ユーザー配下のすべてのユーザ情報を取得する場合には、どのようにすればよろしいでしょうか?

Aベストアンサー

質問文に書いてある単一ユーザーを取得する書き方に沿えばこんな感じかなぁ。
Dim objOU, objUser
Set ObjOU = CreateObject("LDAP://OU=OU123_ユーザー,OU=OU123,DC=ad,DC=test,DC=com")
objOU.Filter = Array("user")
For Each objUser In objOU
 Debug.Print objUser.Name
Next

複数のアカウントを取得するので ADODB で DB のように取り扱うこともできそう。(ちょっと長いけど)
Dim objConn, objComm, objRst
Set objConn = CreateObject("ADODB.Connection")
Set objComm = CreateObject("ADODB.Command")
objConn.Provider = "ADsDSOObject"
objConn.Open "Active Directory Provider"
set objComm.ActiveConnection = objConn

objComm.Properties("Page Size") = 1000 ' 検索結果の最大取得数
objComm.Properties("Searchscope") = 1 ' この OU の配下も全部なら 2 を指定
objComm.CommandText = "SELECT Name From 'LDAP://OU=OU123_ユーザー,OU=OU123,DC=ad,DC=test,DC=com' WHERE objectCategory='user'"
Set objRst = objComm.Execute

objRst.MoveFirst
Do Until objRst.EOF
 Debug.Print objRst.Fields("Name").Value
 objRst.MoveNext
Loop


私は今まで Excel でアカウントの台帳を作っていたので、これを元に Active Directory を操作できないかと考えていたのですが、最近になって考え方を改めました。
台帳はあくまでも Active Directory なので、ユーザーのリストがほしければ都度取得すればいいじゃないか、と。
アカウント登録や変更も、[対象アカウントの存在確認] → [更新] をすりゃいいじゃないか、と。
それで Excel 台帳による二重管理を捨て、PowerShell によるいくつかのスクリプト ファイルを作っているところです。
一覧を取得するだけなら以下の 1行でできちゃいますし。
Get-ADUser -Filter * -SearchBase "OU=OU123_ユーザー,OU=OU123,DC=ad,DC=test,DC=com" -Properties * -SearchScope OneLevel | ForEach-Object { $_.Name}

質問文に書いてある単一ユーザーを取得する書き方に沿えばこんな感じかなぁ。
Dim objOU, objUser
Set ObjOU = CreateObject("LDAP://OU=OU123_ユーザー,OU=OU123,DC=ad,DC=test,DC=com")
objOU.Filter = Array("user")
For Each objUser In objOU
 Debug.Print objUser.Name
Next

複数のアカウントを取得するので ADODB で DB のように取り扱うこともできそう。(ちょっと長いけど)
Dim objConn, objComm, objRst
Set objConn = CreateObject("ADODB.Connection")
Set objComm = CreateObject("ADODB.Command")
...続きを読む

Qローカルのコンピュータ名を取得したい

クライアントのPC名=A
サーバのPC名   =B
DNSサーバ名   =C

$IP = $_SERVER['REMOTE_ADDR'];
$PcName = gethostbyaddr($IP);

上記のようにすると$PcNameにはCが入ります。
Aを取得したいのですが、どうすれば良いか教えて下さい

Aベストアンサー

インターネットを介してと言う事でしょうか?
であれば、クライアントPCにグローバルIPが振られて、かつDNSに登録されていない限りAは取得出来ません。
REMOTE_ADDRは接続IPを取得するだけなので。

まあ、PC名分かったらセキュリティ上やばいと思うのでw

ローカルであればDNS構築して逆引き登録をちゃんとやればOKです。

QクライアントのIPとマシン名を取得したい

JSP/サーブレットで開発をしております。
ログイン者のIPアドレスとマシン名を取得したいと思っているのですがどのようにすればよいでしょうか?
getHostName()で取得できると聞いたのですが、サーバーマシンのマシン名しか取得できませんでした。
どうか教えてください。

Aベストアンサー

アクセスユーザのIPアドレスは
request.getRemoteAddr()
で取得できます。
getHostName()は今現在Javaが動いているマシンのホスト名を取得するものです。
マシン名についてはリクエストヘッダに通常付与される物ではないのでWEB上で取得するのは不可能です。
※ブラウザを自作してリクエストヘッダにマシン名を送出させるなどすれば可能ですが、現実的ではないでしょう。

QJavaScriptからVBScriptの呼び出しについて

JavaScriptからVBScriptで作った関数を呼び出すことは可能なのでしょうか?
可能なのであれば、やりかたを教えてください。

Aベストアンサー

できますよ。
別のスクリプトタグの中で定義した関数は、普通に呼び出せますので。

<script language=vbscript>
function hoge(arg)
hoge=arg*5
end function
</script>
<script language=javascript>
document.write(hoge(6));
</script>

とか。
逆もしかりです。

QJavaScriptde途中で、「exit」するには?

function kensaku(){
s_data = document.kaiin_form.input_name.value;

if(!s_data){ alert("キーワードを入れて下さい!"); }

if(s_data != dumy){ ...... }
for(i=st_no;i<=n;i++){
......省略.................;
.......省略................}
}

----------------------------------
3行目で表示されたアラートをOKで閉じても、4行目以下が実行されてしまいます。
3行目でexitするにはどうすれば良いでしょうか?

Aベストアンサー

>関数(kensaku())からは抜けられませんでした。
そうですね、勘違いしていました、f(^^;
すみません。
if(!s_data){
alert("キーワードを入れて下さい!");
return;
}
ですね。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング