Zapoznaj się z Principal klasę kontekście. Można go utworzyć przy użyciu lokalnego hosta (komputera) lub kontekstu domeny i użyć metody ValidateCrentials (nazwa użytkownika, hasło łańcuchowe) do uwierzytelnienia przy użyciu poświadczeń systemu Windows.
http://msdn.microsoft.com/en-us/library/bb154889.aspx
Oto jak Używałem go w mojej stronie. (Połóż to w metodzie POST kontrolera uwierzytelniania lub coś podobnego)
Poniższy kod przyjmie nazwę użytkownika "bob" lub "localhost \ bob" lub "DOMAIN \ bob" itd. I uzyska prawo PrincipalContext dla uwierzytelnianie użytkownika. UWAGA: tutaj nie ma znaczenia wielkość liter.
public bool ValidateCredentials(string username, System.Security.SecureString password)
{
string domain = Environment.MachineName;
if (username.Contains("\\"))
{
domain = username.Split('\\')[0];
username = username.Split('\\')[1];
}
if (domain.Equals("localhost", StringComparison.CurrentCultureIgnoreCase))
domain = Environment.MachineName;
if (domain.Equals(Environment.MachineName, StringComparison.CurrentCultureIgnoreCase))
using (PrincipalContext context = new PrincipalContext(ContextType.Machine))
{
return context.ValidateCredentials(username, password.ToUnsecureString());
}
else
using(PrincipalContext context = new PrincipalContext(ContextType.Domain))
{
//return context.ValidateCredentials(domain + "\\" + username, password.ToUnsecureString());
return context.ValidateCredentials(username, password.ToUnsecureString());
}
}
Jestem naprawdę nadzieję na stronie próbki – stuck
lol Mieli tak wiele nazw dla tej rzeczy jestem pewien, że to trudne do wyśledzenia. Zwykle pobierały pewną kwotę rocznie za witryny, aby z niej korzystać, a dla nas mało było to niedrogie. Zastanawiam się, czy teraz jest za darmo z pojawieniem się Facebooka itp. – ps2goat