private void btnTestConnection_Click(object sender, RoutedEventArgs e) { LogoPas login = new LogoPas() { Login = tbxLogin.Text, Password = pbxPassword.Password }; Connect.TestConnection(tbxServer.Text, (TypeLogin)int.Parse((string)((ComboBoxItem)((ComboBox)cmbbxTypeLogin).SelectedItem).Tag), login); }
public static bool TestConnection(string server, TypeLogin typeLogin, LogoPas logoPas = null)//Общая проверка связи { if (!string.IsNullOrWhiteSpace(server) && PingHost(server)) { ResultTestConnection(null, new EventArgsResultTest("Проверка связи с сервером прошла успешно.")); PrincipalContext temp; try { switch (typeLogin) { case TypeLogin.CurrentUser: temp = DomainUsers.GetPrincipalContext(server); break; case TypeLogin.LoginPass: temp = DomainUsers.GetPrincipalContext(server, logoPas); if (logoPas != null && !string.IsNullOrWhiteSpace(logoPas.Login) && !string.IsNullOrWhiteSpace(logoPas.Password) && temp.ValidateCredentials(logoPas.Login, logoPas.Password)) { ResultTestConnection(null, new EventArgsResultTest("Проверка авторизации на сервере прошла успешно.")); return(true); } else { ResultTestConnection(null, new EventArgsResultTest("Проверка авторизации на сервере прошла неудачно.")); return(false); } break; default: temp = DomainUsers.GetPrincipalContext(server); break; } if (temp != null) { ResultTestConnection(null, new EventArgsResultTest("Проверка авторизации на сервере прошла успешно.")); return(true); } else { ResultTestConnection(null, new EventArgsResultTest("Проверка авторизации на сервере прошла неудачно.")); } } catch (Exception ex) { ResultTestConnection(null, new EventArgsResultTest("Проверка авторизации на сервере прошла неудачно.")); } } else { ResultTestConnection(null, new EventArgsResultTest("Проверка связи с сервером прошла неудачно.")); } //lblResult.Content = "Проверьте введенные данные."; return(false); }
public static PrincipalContext GetPrincipalContext(string Path, LogoPas logoPas = null) { PrincipalContext temp = null; switch (Settings.Default.TypeLogin) { case (int)TypeLogin.CurrentUser: if (!String.IsNullOrWhiteSpace(Path)) { temp = new PrincipalContext(ContextType.Domain, Path); } else { ResultDomainUsers(null, new EventArgsResultDomainUsers("Проверьте имя домена!")); } break; case (int)TypeLogin.LoginPass: if (string.IsNullOrWhiteSpace(Path)) { ResultDomainUsers(null, new EventArgsResultDomainUsers("Проверьте имя домена!")); } if (logoPas != null && !string.IsNullOrWhiteSpace(logoPas.Login) && !string.IsNullOrWhiteSpace(logoPas.Password)) { temp = new PrincipalContext(ContextType.Domain, Path, logoPas.Login, logoPas.Password); } else if (!string.IsNullOrWhiteSpace(Settings.Default.Login) && !string.IsNullOrWhiteSpace(Encryption.Decrypt(Settings.Default.Password))) { temp = new PrincipalContext(ContextType.Domain, Path, Settings.Default.Login, Encryption.Decrypt(Settings.Default.Password)); } else { ResultDomainUsers(null, new EventArgsResultDomainUsers("Проверьте логин и пароль!")); } break; default: temp = new PrincipalContext(ContextType.Domain, Path); break; } return(temp); }