2
一旦用戶登錄到Windows身份驗證站點,我如何從用戶那裏獲取他們的Active Directoy用戶GUID。MVC4:獲取Active Directory用戶指導
例如,在一個動作:
ViewBag.Message = User.Identity.GUID????
一旦用戶登錄到Windows身份驗證站點,我如何從用戶那裏獲取他們的Active Directoy用戶GUID。MVC4:獲取Active Directory用戶指導
例如,在一個動作:
ViewBag.Message = User.Identity.GUID????
你應該檢查出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中的用戶和羣組玩耍!
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();
}
}
}