2009-05-19 15 views
11

Windows認証を使用するASP.NETアプリケーションを使用しています。WindowsIdentityからユーザーの表示名を取得する

私はHttpContext.Current.User.Identity.Nameを使用して現在認証されているユーザーのユーザー名を取得しています。ユーザー名はDOMAIN \ USERNAMEの形式になります。これはうまくいきます。

XPのスタートメニューの上部に表示されるような表示名(例:「Richard Gadsden」)に簡単に変換できますか?

私はSystem.DirectoryServicesとADSIに問い合わせることができますが、確かに簡単な方法がありますか?

答えて

2

ここでそれを行うだけの方法についてのチュートリアルです:

http://www.youcanlearnseries.com/Programming%20Tips/CSharp/LDAPReader.aspx

+5

を使用すると、3ページで簡単な方法があります長いと私はどのコードを使用するか分からない。あなたはあなたの答えplzに具体的に必要なコードを投稿できますか? –

1

私はADSIが行く方法だと思います。それはかなり簡単です。私はより簡単な方法を見ていない。 LDAP://<SID=user-sid>を照会し、識別名プロパティーを取得するだけです。

13

今、あなたがにリンクされている記事System.DirectoryServices.AccountManagement

Imports System.DirectoryServices.AccountManagement 

... 

    Dim CurrentUser As UserPrincipal = UserPrincipal.Current 
    Dim DisplayName As String = CurrentUser.DisplayName 
+1

これは、UserPrincipalをWindowsIdentityオブジェクトから取得できる場合にのみ役立ちます。この質問は、WindowsIdentityオブジェクトの操作と、そこからユーザー名を抽出することに依存しています。 WindowsIdentityオブジェクトからWindowsPrincipalを取得する方法を知ることはできますが、UserPrincipalを取得する方法を見つけることはできません。 – Veverke

+0

私は[ここ](http://stackoverflow.com/questions/2808955/can-i-get-active-directory-attributes-from-the-windowsprincipal/2809817#2809817)から、あなたは単純にUserPrincipalを得ることができると考えましたドメイン上であなたの答えは助けになる(私のdownvoteは今ロックされている...しかし、私は私のdownvote(SOのポリシー..)を削除することが許可されるように任意のマイナーチェンジであなたの答えを編集してください。 – Veverke

関連する問題