3

ユーザーがWindows認証サイトにログインしたら、ユーザーからActiveDirectoyユーザーGUIDを取得するにはどうすればよいですか。

例:アクション:

ViewBag.Message = User.Identity.GUID????
4

2 に答える 2

7

System.DirectoryServices.AccountManagement(S.DS.AM)名前空間を確認する必要があります。ここでそれについてすべて読んでください:

基本的に、ドメインコンテキストを定義して、AD内のユーザーやグループを簡単に見つけることができます。

// set up domain context
PrincipalContext ctx = new PrincipalContext(ContextType.Domain);

// find the current user
UserPrincipal user = UserPrincipal.Current;

if(user != null)
{
   // get guid
   var userGuid = user.Guid;
}

新しいS.DS.AMを使用すると、ADのユーザーやグループを簡単に操作できます。

于 2012-11-27T05:50:43.697 に答える
-2
 string userName = user.Identity.Name.Split('\\')[1];

            using (var oRoot = new DirectoryEntry(ConfigurationManager.AppSettings["LDAPDomain"], null, null, AuthenticationTypes.Secure))
            {
                using (var deSearch = new DirectorySearcher(oRoot))
                {
                    deSearch.Filter = string.Format("(&(sAMAccountName={0}))", userName);
                    SearchResult searchResult = deSearch.FindOne();
                    if (searchResult != null)
                    {
                        DirectoryEntry de = searchResult.GetDirectoryEntry();

                    }
                }
            }
于 2012-11-27T23:11:55.283 に答える