Пример #1
0
        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);
        }
Пример #2
0
        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);
        }
Пример #3
0
        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);
        }