powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Авторизация в sql
31 сообщений из 31, показаны все 2 страниц
Авторизация в sql
    #39638749
OlegEgorov11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В приложении две формы. При запуске приложения запускается первая форма, из нее вторая с окном авторизации. Но если закрыть вторую форму, появляется первая, то есть можно и не проходить авторизацию. Как сделать, чтобы при закрытии окна авторизации закрывалось все приложение?
...
Рейтинг: 0 / 0
Авторизация в sql
    #39638753
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OlegEgorov11,

открывайте сначала форму логина, или есть причины делать иначе?

P.S.: и не авторизация, а аутентификация
...
Рейтинг: 0 / 0
Авторизация в sql
    #39638755
OlegEgorov11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
OlegEgorov11,
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
      
        private void ReadText() // а вызлв этого метода происходит инициализаторе формы
        {

            try
            {
                StreamReader sr = File.OpenText(@"C:\conf.txt");
                string[] rows = sr.ReadToEnd().Split('\n');
                textBox1.Text = rows[0].Trim();
                textBox2.Text = rows[1].Trim();
                textBox3.Text = rows[2].Trim();
                sr.Close();
               
                using (Formaut f = new Formaut())
                {
                    if (f.ShowDialog() == DialogResult.OK)
                    {
                       
                    }
                    else
                    {
                        Application.Exit();
                    }
                }
            }



В данный момент при открытии формы, запускается вторая форма и просит авторизоваться, но если ее просто закрыть на крестик, то запустится главная форма
...
Рейтинг: 0 / 0
Авторизация в sql
    #39638756
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OlegEgorov11,
сделай проще логику:
- либо не позволяй открыться главной форме (первая) и приложению вообще без коннекта к серверу
- либо делай соединение без всяких форм. В меню - Соединится\Отсоединится.
...
Рейтинг: 0 / 0
Авторизация в sql
    #39638757
OlegEgorov11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
skyANA,

Если открывать форму 2 в начале, не получится ли что при закрытии формы 1 будет открываться форма 2?
...
Рейтинг: 0 / 0
Авторизация в sql
    #39638759
OlegEgorov11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123,

Дело в том, что сначала приложение просит ввести реквизиты сервера, если их нет.
...
Рейтинг: 0 / 0
Авторизация в sql
    #39638760
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OlegEgorov11OlegEgorov11,
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
      
        private void ReadText() // а вызлв этого метода происходит инициализаторе формы
        {

            try
            {
                StreamReader sr = File.OpenText(@"C:\conf.txt");
                string[] rows = sr.ReadToEnd().Split('\n');
                textBox1.Text = rows[0].Trim();
                textBox2.Text = rows[1].Trim();
                textBox3.Text = rows[2].Trim();
                sr.Close();
               
                using (Formaut f = new Formaut())
                {
                    if (f.ShowDialog() == DialogResult.OK)
                    {
                       
                    }
                    else
                    {
                        Application.Exit();
                    }
                }
            }


В данный момент при открытии формы, запускается вторая форма и просит авторизоваться, но если ее просто закрыть на крестик, то запустится главная форма
Ни фига не понял. Но вот к примеру:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
    Application.EnableVisualStyles();
    Application.SetCompatibleTextRenderingDefault(false);

    // Отображение окна ввода логина и пароля  если в файле не указан пароль            
    string connectionString = ConfigurationManager.ConnectionStrings["local"].ConnectionString;
    string pwd = Regex.Match(connectionString, @"Password\s*=\s*(?<PWD>([^;]+));*", RegexOptions.IgnoreCase ).Groups["PWD"].Value;

    if (String.IsNullOrEmpty(pwd))
    {
        using (var form = new LoginForm(connectionString))
        {
            if (DialogResult.Cancel == form.ShowDialog())
            {
                return;
            }
        }
    }

    Application.Run(new MainForm());
}
...
Рейтинг: 0 / 0
Авторизация в sql
    #39638762
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OlegEgorov11Если открывать форму 2 в начале, не получится ли что при закрытии формы 1 будет открываться форма 2?Не получится, смотрите мой пример.

OlegEgorov11Дело в том, что сначала приложение просит ввести реквизиты сервера, если их нет.В моём примере как раз требуется ввести логин и пароль, если они не указаны в конфиге.
...
Рейтинг: 0 / 0
Авторизация в sql
    #39638764
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OlegEgorov11Petro123,

Дело в том, что сначала приложение просит ввести реквизиты сервера, если их нет.
не понял.
В главной форме:
Код: c#
1.
2.
Initialze();
if (!IsConnect()) выход_и_закрытие_всего_на_свете()


всё
...
Рейтинг: 0 / 0
Авторизация в sql
    #39638766
OlegEgorov11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
skyANA,

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
   string connectionString = ConfigurationManager.ConnectionStrings["local"].ConnectionString;
    string pwd = Regex.Match(connectionString, @"Password\s*=\s*(?<PWD>([^;]+));*", RegexOptions.IgnoreCase ).Groups["PWD"].Value;

    if (String.IsNullOrEmpty(pwd))
    {
        using (var form = new LoginForm(connectionString))
        {
            if (DialogResult.Cancel == form.ShowDialog())
            {
                return;
            }
        }
    }

    Application.Run(new MainForm());
}




можно ли на примере это сделать, чтобы не запускалась форма 1 пока в форме два не будет " if (Form2.ShowDialog() == DialogResult.OK)" диалогового окна с кнопкой ок?
...
Рейтинг: 0 / 0
Авторизация в sql
    #39638768
OlegEgorov11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
skyANA,

у меня в форме настройки настраивается сначала строка соединения(имя сервера, пароль, логин) а в форме аутентификации, уже проверка пароля в бд.
...
Рейтинг: 0 / 0
Авторизация в sql
    #39638769
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OlegEgorov11skyANA,

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
   string connectionString = ConfigurationManager.ConnectionStrings["local"].ConnectionString;
    string pwd = Regex.Match(connectionString, @"Password\s*=\s*(?<PWD>([^;]+));*", RegexOptions.IgnoreCase ).Groups["PWD"].Value;

    if (String.IsNullOrEmpty(pwd))
    {
        using (var form = new LoginForm(connectionString))
        {
            if (DialogResult.Cancel == form.ShowDialog())
            {
                return;
            }
        }
    }

    Application.Run(new MainForm());
}





можно ли на примере это сделать, чтобы не запускалась форма 1 пока в форме два не будет " if (Form2.ShowDialog() == DialogResult.OK)" диалогового окна с кнопкой ок?
Если нет реквизитов сервера, то откроется диалоговое окно.
И в этом случае форма один не запустится, пока в форме два не будет " if (Form2.ShowDialog() == DialogResult.OK)".

Вам разве не это надо?
...
Рейтинг: 0 / 0
Авторизация в sql
    #39638770
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OlegEgorov11у меня в форме настройки настраивается сначала строка соединения(имя сервера, пароль, логин) а в форме аутентификации, уже проверка пароля в бд.
Вы будете по одному предложению подробности выдавать? Может за одно сообщение справитесь?
...
Рейтинг: 0 / 0
Авторизация в sql
    #39638771
OlegEgorov11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123, При запуске приложения на новом месте, форма 1 пытается считать конфиг, но его нет, тогда появляется форма с настройкой конфига(имя сервера, логин, пароль) после чего появляется форма аутентификации - логин пароль пользователя. Если конфиг есть, то просто запускается форма логина-пароля. Форма ввода логина пароля и логина запускается из первой формы(главной), главная форма скрывается. Но если закрыть форму ввода логина пароля на крестик, то просто появляется главная форма.
...
Рейтинг: 0 / 0
Авторизация в sql
    #39638772
OlegEgorov11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
skyANA,
При запуске приложения на новом месте, форма 1 пытается считать конфиг, но его нет, тогда появляется форма с настройкой конфига(имя сервера, логин, пароль) после чего появляется форма аутентификации - логин-пароль пользователя. Если конфиг есть, то просто запускается форма логина-пароля. Форма ввода логина-пароля запускается из первой формы(главной), главная форма скрывается. Но если закрыть форму ввода логина пароля на крестик, то просто появляется главная форма.
...
Рейтинг: 0 / 0
Авторизация в sql
    #39638773
OlegEgorov11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
skyANA, как бы нужно просто сделать, чтобы при нажатии на крестик формы логин-пароль закрывалось все приложение. А не просто эта форма
...
Рейтинг: 0 / 0
Авторизация в sql
    #39638774
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OlegEgorov11Petro123, При запуске приложения на новом месте, форма 1 пытается считать конфиг, но его нет, тогда появляется форма с настройкой конфига(имя сервера, логин, пароль) после чего появляется форма аутентификации - логин пароль пользователя. Если конфиг есть, то просто запускается форма логина-пароля. Форма ввода логина пароля и логина запускается из первой формы(главной), главная форма скрывается. Но если закрыть форму ввода логина пароля на крестик, то просто появляется главная форма.
О, уже три формы

Во первых крестик можно скрыть. Во вторых есть событие OnClosing, при обработке которого можно отменить закрытие.

И самое верное - это запускать форму ввода логина пароля не из главной, а до этого.
Как показано в моём примере.
...
Рейтинг: 0 / 0
Авторизация в sql
    #39638775
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OlegEgorov11При запуске приложения на новом месте, форма 1 пытается считать конфиг, но его нет, тогда появляется форма с настройкой конфига
Код: c#
1.
2.
Initialze();
if (!IsConnect()) выход_и_закрытие_всего_на_свете()

т.е. внутри вашего метода:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
bool IsConnect()
{
if (КонфигаНет())
   if (ПоказатьФормуНастроек())
       ....
else
   return true;
}


это для тебя сложно?
Учись бить программу на куски.
...
Рейтинг: 0 / 0
Авторизация в sql
    #39638777
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OlegEgorov11,
вот тут у тебя вся программа из одного метода button_click()
21375255
Учись вводить свои методы иначе зароешься в логике.
Удачи!
...
Рейтинг: 0 / 0
Авторизация в sql
    #39638779
OlegEgorov11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123,

я кажется нашел,как по-другому сделать. В файле program.cs такой код:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
    /// <summary>
        /// Главная точка входа для приложения.
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Formaut());
            using (Formaut FormLogin = new Formaut())                       ////Запускает форму с логином и паролем.
                if (FormLogin .ShowDialog() == DialogResult.OK)            ////Если выскакивает окошко с успехом - ОК!, то запуск главной формы.
            {
                Application.Run(new Form1());
            }
            


Вроде должно работать
...
Рейтинг: 0 / 0
Авторизация в sql
    #39638780
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OlegEgorov11skyANA, как бы нужно просто сделать, чтобы при нажатии на крестик формы логин-пароль закрывалось все приложение. А не просто эта форма
В форме ввода логина и пароля обычно две кнопки: OK и Cancel.
На первую вешают DialogResult.Cancel, на вторую DialogResult.Cancel.
Закрытие формы тоже приводит по к DialogResult.Cancel: Form.DialogResult Property .

Так что не понятно, почему у Вас не получается тупо обработать возвращаемое f.ShowDialog() значение.
...
Рейтинг: 0 / 0
Авторизация в sql
    #39638782
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OlegEgorov11Petro123,

я кажется нашел,как по-другому сделать. В файле program.cs такой код:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
    /// <summary>
        /// Главная точка входа для приложения.
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Formaut());
            using (Formaut FormLogin = new Formaut())                       ////Запускает форму с логином и паролем.
                if (FormLogin .ShowDialog() == DialogResult.OK)            ////Если выскакивает окошко с успехом - ОК!, то запуск главной формы.
            {
                Application.Run(new Form1());
            }
            



Вроде должно работать
Не надо делать Application.Run(new Formaut()), зачем? Вы читали справку о методе Application.Run()? Почитайте.
...
Рейтинг: 0 / 0
Авторизация в sql
    #39638783
OlegEgorov11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
skyANA,

да не нужно, я согласен, просто когда исправил там код, забыл удалить, спасибо))
...
Рейтинг: 0 / 0
Авторизация в sql
    #39638784
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAВ форме ввода логина и пароля обычно две кнопки: OK и Cancel.
На первую вешают DialogResult.CancelOK, на вторую DialogResult.Cancel.
...
Рейтинг: 0 / 0
Авторизация в sql
    #39638785
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OlegEgorov11В файле program.cs такой код:
а теперь вызови ту форму чтобы сменить сервер на другой адрес, логин пароль.
...
Рейтинг: 0 / 0
Авторизация в sql
    #39638788
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OlegEgorov11
Код: c#
1.
////Если выскакивает окошко с успехом - ОК!, то запуск главной формы.


в продакшене за лишнее сообщение на экран "ОК" - голову оторвут.
...
Рейтинг: 0 / 0
Авторизация в sql
    #39638789
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

глупости не пиши.
...
Рейтинг: 0 / 0
Авторизация в sql
    #39638791
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123OlegEgorov11В файле program.cs такой код:
а теперь вызови ту форму чтобы сменить сервер на другой адрес, логин пароль.
Форму ввода логина и пароля вызвать, чтобы сменить сервер на другой адрес? Да ты оригинал
...
Рейтинг: 0 / 0
Авторизация в sql
    #39638799
OlegEgorov11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123,

она из главного окна нормально запускается
...
Рейтинг: 0 / 0
Авторизация в sql
    #39638802
OlegEgorov11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123,
авторв продакшене за лишнее сообщение на экран "ОК" - голову оторвут.
на самом деле там можно и без него обойтись, просто где пользователь залогинился, можно прописать закрыть форму открыть новую, но мне с ним удобно
...
Рейтинг: 0 / 0
Авторизация в sql
    #39638804
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OlegEgorov11,
конечно дело твоё, где писать.
У тебя было, если конфига нет (первый запуск), то открыть форму конфига.
Если нравится, то открывай конфиг в programs.cs.
Вроде всё решил.
Удачи!
...
Рейтинг: 0 / 0
31 сообщений из 31, показаны все 2 страниц
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Авторизация в sql
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]