我有一个 MVC4 内网页面,想homeDirectory
从 Active Directory 中获取属性。想知道从 AD 获取属性的最快方法。
问问题
3655 次
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 回答