ユーザーがWindows認証サイトにログインしたら、ユーザーからActiveDirectoyユーザーGUIDを取得するにはどうすればよいですか。
例:アクション:
ViewBag.Message = User.Identity.GUID????
ユーザーがWindows認証サイトにログインしたら、ユーザーからActiveDirectoyユーザーGUIDを取得するにはどうすればよいですか。
例:アクション:
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();
}
}
}