1

我正在开发一个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; }
}

谢谢!

4

3 回答 3

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 。

于 2012-06-22T08:34:46.063 回答
1

Guid属性映射到objectGuidAD 中,在森林边界内的用户的生命周期内不会更改。

于 2012-06-22T21:04:26.073 回答
0

我相信您应该使用SAM-Account-Name来引用 AD 中的用户对象。

于 2012-06-22T08:36:21.423 回答