プロが教える店舗&オフィスのセキュリティ対策術

初めて投稿します。是非とも皆さんのお力を借りたいと思います。
【概要】
ASPを使用してActiveDirectoryから自分自身のログインユーザ情報
を取得したい。

【詳細】
ある会社の社員情報の管理をActiveDirectoryを行っています。
社内サイトには上役以上の社員しか見れない「重要サイト」へのリンクが張られています。
一般社員には見せてはいけません。

そこで社内サイトを表示したときにAspを使用して
ActiveDirectoryのユーザプロパティ(firstnameやmailadressなど)の
値を見て「重要サイト」へのリンクを表示するかしないか切り分けたいのです。

【聞きたいこと】
ActiveDirectoryにログインしているユーザのユーザプロパティを
ログインIDなど入力なしで社内サイト閲覧時に自動で取得できますか?

どういうことかと言いますと、今現在出来ているのは、入力項目を
用意してログインIDを入れて実行すると、
対象のActiveDirectoryが管理しているユーザ一覧を取得して
入力したログインIDと一個一個マッチングをかけて真なら、
そのプロパティを見て判断するという間抜けなことをやっています。

そうではなくて、ActiveDirectoryにログインしているので
社内サイトを閲覧している本人の情報のみを取得する方法を
ご教授頂きたいと思います。

長文すみませんがよろしくお願いいたします。

A 回答 (3件)

Dim userID As String = User.Identity.Name



これで、userID の中身を見てください。
内容を見ていただくと、ドメイン名\ユーザIDになっていると
思いますので、その場合は少し加工が必要ですね。
http://www.dejavu.jp/tips_aspnet2.html

http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.ph …
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

kokoroneさんのアドバイス通り

Dim userID As String = User.Identity.Nameと
打ったら「ステートメントの末尾が不正です」とエラーがでました。

その後に

Dim userID
userID = User.Identity.Name

としたら「オブジェクトがありません。: 'User'」とエラーになりました。

ご教授いただいておきならすみませんが、ASP.netではなく
ASPでの記述はどのように書けばよいですか?

※ちなみに
「request.ServerVariables("REMOTE_USER")」だと
空でした。

よろしくお願い致します。

お礼日時:2007/08/23 16:07

お世話になります。



WSH でユーザー名を取得できないことはないですが、
参考 URL の魔界の仮面弁士さんのレスを参照してください。

自前のデータベースでユーザー権限を管理したりするほうが
後々になってさらに詳細な権限振り分けを迫られたときに
楽できると思います。

なので、AD とは別にアプリケーション用の権限設定 DB を作って
それを参照してログイン画面でログインしたユーザーの
アクセスコントロールを行う方法をお勧めしたいです。

参考URL:http://hpcgi1.nifty.com/MADIA/VBBBS/wwwlng.cgi?p …
    • good
    • 0

ASPとASP.NETを読み違えておりました。


http://support.microsoft.com/kb/299984/ja
でいかがでしょうか?

私も、アプリ画面別のアクセス権は、DBにて設定・管理しております。
    • good
    • 0

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