4
我有一個MVC4內聯網頁面,並希望從Active Directory中獲取homeDirectory
屬性。想知道從AD獲取屬性的最快方法。如何在MVC中查詢當前登錄用戶的AD信息4
我有一個MVC4內聯網頁面,並希望從Active Directory中獲取homeDirectory
屬性。想知道從AD獲取屬性的最快方法。如何在MVC中查詢當前登錄用戶的AD信息4
由於.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中與用戶和羣體玩耍真的很容易!
這將工作。 :) +1 – kbvishnu
夢幻般的答案隊友!這實際上是我想要的,我之前發現的所有結果都是將AD作爲LDAP進行查詢。這是最好的。將嘗試一下。順便說一句,你會建議,哪種方式比使用sid的搜索LDAP更快? SecurityIdentifier sid = windowsId.User;使用(DirectoryEntry userDe = new DirectoryEntry(「LDAP://」))使用 –
anIBMer