2012-06-22 2 views
1

Я разрабатываю сайт интранета проект (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; } 
} 

Спасибо!

+1

Каково ваше определение «ассоциировать»? – Onkelborg

+0

Я имею в виду установить учетную запись. – lexeme

+1

И что вы имеете в виду под «установить учетную запись»? Помните, что у нас нет абсолютно никакой информации о вашей проблеме, чем то, что вы нам рассказываете. – Onkelborg

ответ

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 
     }; 
    } 
} 

Но, конечно, есть уже ActiveDirectoryMembershipProvider, что вы могли бы использовать если вы работаете с Windows Authentication.

+0

Да! Это то, чего я хочу. Также мне любопытно, как пользовательская информация собирается на сайтах интрасети Sharepoint? – lexeme

+1

Я понятия не имею. Я никогда не касался и не намерен касаться SharePoint в своей жизни. –

+0

SharePoint использует службу профилей пользователей, которая использует FIM под обложками DirSync с AD. –

0

Я считаю, что вы должны использовать SAM-Account-Name для обращения к объекту пользователя в AD.

+0

№ Значение 'samAccountName' не является неизменно неизменным. –

+0

@BrianDesmond - «удаленно неизменный»? – Bond

+0

Да - это может измениться в любое время. Это значение постоянно меняется во многих организациях - рассматривайте того, кто выходит замуж. –

1

Объект Guid соответствует objectGuid в AD, который не изменится на всю жизнь пользователя внутри границ леса.

Смежные вопросы