4

homeDirectoryMVC4 イントラネット ページがあり、Active Directory から属性を取得したいと考えています。AD から属性を取得する最速の方法を知りたいです。

4

1 に答える 1

5

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

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

// set up domain context
using (PrincipalContext ctx = new PrincipalContext(ContextType.Domain))
{
    // find a user
    UserPrincipal user = UserPrincipal.FindByIdentity(ctx, "SomeUserName");

   if(user != null)
   {
      // do something here....      
      string homeDrive = user.HomeDrive;
      string homeDirectory = user.HomeDirectory;
   }
}

ASP.NET MVC アプリで Windows 認証を使用している場合は、次のように現在ログインしているユーザーを取得することもできます。

UserPrincipal currentUser = UserPrincipal.Current;

しかし、多くの場合、Web アプリでは、これはユーザー (ブラウザーのユーザーではなく)NETWORK SERVICEのようなものです...IUSER_machineName

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

于 2012-12-10T06:06:35.313 に答える