- 締切済み
ASPを使用してActiveDirectoryから自分自身のユーザプロパティを取得したい
初めて投稿します。是非とも皆さんのお力を借りたいと思います。 【概要】 ASPを使用してActiveDirectoryから自分自身のログインユーザ情報 を取得したい。 【詳細】 ある会社の社員情報の管理をActiveDirectoryを行っています。 社内サイトには上役以上の社員しか見れない「重要サイト」へのリンクが張られています。 一般社員には見せてはいけません。 そこで社内サイトを表示したときにAspを使用して ActiveDirectoryのユーザプロパティ(firstnameやmailadressなど)の 値を見て「重要サイト」へのリンクを表示するかしないか切り分けたいのです。 【聞きたいこと】 ActiveDirectoryにログインしているユーザのユーザプロパティを ログインIDなど入力なしで社内サイト閲覧時に自動で取得できますか? どういうことかと言いますと、今現在出来ているのは、入力項目を 用意してログインIDを入れて実行すると、 対象のActiveDirectoryが管理しているユーザ一覧を取得して 入力したログインIDと一個一個マッチングをかけて真なら、 そのプロパティを見て判断するという間抜けなことをやっています。 そうではなくて、ActiveDirectoryにログインしているので 社内サイトを閲覧している本人の情報のみを取得する方法を ご教授頂きたいと思います。 長文すみませんがよろしくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- kokorone
- ベストアンサー率38% (417/1093)
ASPとASP.NETを読み違えておりました。 http://support.microsoft.com/kb/299984/ja でいかがでしょうか? 私も、アプリ画面別のアクセス権は、DBにて設定・管理しております。
- naganaga_001
- ベストアンサー率71% (172/242)
お世話になります。 WSH でユーザー名を取得できないことはないですが、 参考 URL の魔界の仮面弁士さんのレスを参照してください。 自前のデータベースでユーザー権限を管理したりするほうが 後々になってさらに詳細な権限振り分けを迫られたときに 楽できると思います。 なので、AD とは別にアプリケーション用の権限設定 DB を作って それを参照してログイン画面でログインしたユーザーの アクセスコントロールを行う方法をお勧めしたいです。
- kokorone
- ベストアンサー率38% (417/1093)
Dim userID As String = User.Identity.Name これで、userID の中身を見てください。 内容を見ていただくと、ドメイン名\ユーザIDになっていると 思いますので、その場合は少し加工が必要ですね。 http://www.dejavu.jp/tips_aspnet2.html http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=7747&forum=7
お礼
回答ありがとうございます。 kokoroneさんのアドバイス通り Dim userID As String = User.Identity.Nameと 打ったら「ステートメントの末尾が不正です」とエラーがでました。 その後に Dim userID userID = User.Identity.Name としたら「オブジェクトがありません。: 'User'」とエラーになりました。 ご教授いただいておきならすみませんが、ASP.netではなく ASPでの記述はどのように書けばよいですか? ※ちなみに 「request.ServerVariables("REMOTE_USER")」だと 空でした。 よろしくお願い致します。