我正在开发一个 Intranet站点项目(ASP.NET MVC
项目)。
如何将域中的用户与其帐户(UserAccount
实体)关联:
public class UserAccount {
// normally inherited from an abstract entity
public Guid Id { get; set; }
public String FullName { get; set; }
public String Password { get; set; }
public Guid EmployeeId { get; set; }
}
谢谢!
答案 0 :(得分:2)
如果您询问如何查询Active Directory以获取域用户详细信息并填充UserAccount类,则可以使用以下命令:
public UserAccount GetUserAccount(string username)
{
using (var context = new PrincipalContext(ContextType.Domain))
using (var user = UserPrincipal.FindByIdentity(context, username))
{
return new UserAccount
{
Id = user.Guid,
FullName = user.Name,
Password = "FORGET ABOUT IT, YOU CAN'T RETRIEVE THE PASSWORD",
EmployeeId = user.EmployeeId
};
}
}
但当然,如果您使用Windows身份验证,则可以使用ActiveDirectoryMembershipProvider。
答案 1 :(得分:1)
Guid
属性映射到AD中的objectGuid
,它不会在林边界内的用户生命周期内发生变化。
答案 2 :(得分:0)
我相信您应该使用SAM-Account-Name来引用AD中的用户对象。