- - PR -
【C#】ログオンユーザのパスワードの取得法
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-10-31 17:37
いつもお世話になっております。
C#アプリ内で、現在実行しているPCユーザのパスワードを取得する 方法はないでしょうか? (認証用のAPIに引数として渡すためなので、中の値を見れる必要はありません。) シングルサインオンにしたいだけなのですが、どう取得したらよいのでしょうか... (もしかしてセキュリティ上できないのでしょうか!?) 以上、ご存知の方いらっしゃいましたら、よろしくお願いします。 | ||||||||
|
投稿日時: 2005-10-31 18:49
普通、管理者(administrator)でさえ自分や他のユーザーのパスワードを見ることはできませんよね。
パスワード変更のときには、すでにログインしているにも関らず現在のパスワードを求められるくらいですから。 私はWindowsの機能を全て知っているわけではありませんが、おそらく無理かと・・・。 | ||||||||
|
投稿日時: 2005-10-31 19:16
無いです。 セキュリティ上の制約です。
端末のログオンからってことだと、Windows 認証で統一するしかないでしょうね。 [ メッセージ編集済み 編集者: 渋木宏明(ひどり) 編集日時 2005-10-31 19:19 ] | ||||||||
|
投稿日時: 2005-10-31 21:42
どこで、どういう権限で実行されている、どんなアプリケーションから、
どこへ、どんな形でログインしたいのでしょう? ひどりさんがおっしゃるように、「Windows 認証」にすればいいという話だと思いますけど、例えば データベースに対して接続する、とかだったら、無理、って言う話になるかもしれません。 # Oracle や SQL Server なら、Windows 認証をサポートしているので、いけます | ||||||||
|
投稿日時: 2005-11-01 09:52
どこでサインオンして、どこで使えるようにしたいですか? 具体的なことが判れば代替手段が提示できるかもしれません。 _________________ たつごろー codeseek こみゅぷらす | ||||||||
|
投稿日時: 2005-11-01 09:59
To:回答を頂いたみなさま
いつもお世話になっております。 回答を頂いたみなさま、ありがとうございます。 詳しく下記に書いてみました。 ●運用イメージ ActiveDirectoryサーバがあり、各ユーザのクライアントPCは、 ADドメインにログオンしている状態です。 この各ユーザのクライアントPCで、C#アプリを起動してもらいます。 (※通常のアプリ使用です。) このときアプリより、LDAPでADの標準スキーマに登録されている情報 を取得したいのです。 (このADからのデータ取得の際の認証をSSOと表現しています。) ●やりたいこと このAD認証処理を実施する場合に、LDAP接続パス、ユーザID、パスワードを DirectorySearcherクラスとDirectoryEntryクラスに渡す必要があるようなのです。 ただ、認証画面を一回一回出すのでは、ユーザからすると非常に使い勝手が悪いので、 なにか回避策はないものかと思っての投稿でした。 単純にWindwos認証を使用することができるのであれば、それが解決策なのですが、 DirectorySearcherクラスとDirectoryEntryクラスに対して、 『どのようにWin認証をするように指定してよいか』がわからないのです。 ちなみに、もし認証画面が一回一回でてしまう場合の回避策として 下記を検討中ですが、できれば避けたいと考えています。 ●回避案 一度目は、必ず入力させる。そのタイミングで情報を取得してレジストリあたりに 保存する。で、2回目以降は、レジストリを参照する。 (欠点は、AD側のデータ変更が入っても古いデータで動作してしまうことです。) 良いアイデアなどありましたら、よろしくお願いします。 以上です。 | ||||||||
|
投稿日時: 2005-11-01 10:30
南部です。 現在、検証可能な環境がないので試せませんが、 DirectoryEntryのコンストラクタに AuthenticationTypes列挙体を指定するものあります。 この列挙体のSecureフラグがご希望のもののような気がします。 MSDNライブラリ パスワードがnull参照の場合は、元スレッドの セキュリティコンテキストを使用してくれるそうです。 | ||||||||
|
投稿日時: 2005-11-01 10:31
これが聞きたいことですね。 1.DirectorySearcherクラスとDirectoryEntryクラスを使うコードを書いた 2.ログオンしてるユーザも権限があるもの 3.だけど、プログラムを起動するたびにログオンしろという画面がでてくる ですか? 質問のまとめだけしてて申し訳ないですが、これを実証する環境が手元にな いので回答を避けます。 が、
これはやめましょう。 _________________ たつごろー codeseek こみゅぷらす |