Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.52/29: Рейтинг темы: голосов - 29, средняя оценка - 4.52
0 / 0 / 1
Регистрация: 04.04.2014
Сообщений: 42

Проверка пользователя

18.05.2017, 15:12. Показов 6195. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
День добрый. Разрабатываю электронное учебное пособие, столкнулся с такой проблемой как приватность. Есть бд access в формате mdb, в ней есть ключ, по которому определяется учитель или ученик. При входе в само пособие есть панель управления, где показывается информация о результатах учеников. Вопрос в том, как сделать ее только для учителей. Как сделать проверку по этому ключу, чтобы при входе учителю форма показывалась, а ученику нет.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.05.2017, 15:12
Ответы с готовыми решениями:

Проверка пользователя на удаленное подключение (клиент-сервер TCP)
Всем привет! Не проходите мимо, если знаете чем помочь, буду благодарен:) Есть простенький клиент-сервер на tcp. Собственно...

Проверка активности пользователя
пишу программу под windows server. пользователи работающие в данный момент активны, а те которые отключились от сеанса отключены. нужно...

Проверка на пользователя в БД
Добрый вечер, подскажите мне надо сделать такое. Написать метод который проверяет есть ли пользователь в БД, если пользователь есть в БД...

24
9 / 9 / 5
Регистрация: 19.08.2016
Сообщений: 86
18.05.2017, 16:00
Создать поле с ключом (учитель, ученик) и делать соответствующую выборку из БД.
SELECT * FROM MYTABLE WHERE [IDTeacherORstudents] = 'идентификатор соответствующий'
0
Эксперт .NET
 Аватар для Rius
13089 / 7649 / 1671
Регистрация: 25.05.2015
Сообщений: 23,291
Записей в блоге: 14
18.05.2017, 16:02
Цитата Сообщение от comedi Посмотреть сообщение
Есть бд access в формате mdb
А ученик не может скопировать файл MDB себе, посмотреть/подправить в MS Access и вернуть обратно?
0
9 / 9 / 5
Регистрация: 19.08.2016
Сообщений: 86
18.05.2017, 16:06
здесь попробуй почитать...)
https://support.office.com/ru-... 4767d8b1ec

Добавлено через 46 секунд
Там не сложно будет разобраться какой ИД кому назначен ).

Добавлено через 1 минуту
Шифрование с использованием пароля базы данных

Откройте в монопольном режиме базу данных, которую требуется зашифровать.

Открытие базы данных в монопольном режиме

Нажмите кнопку Microsoft Office Изображение кнопки Office , а затем — Открыть.

В диалоговом окне Открыть найдите файл, который нужно открыть, и выделите его.

Щелкните стрелку рядом с кнопкой Открыть и выберите команду Монопольно.

Открытие файла в монопольном режиме

На вкладке Работа с базами данных в группе Работа с базами данных выберите команду Зашифровать паролем.

Откроется диалоговое окно Задание пароля базы данных.

Введите пароль в поле Пароль, а затем повторите его в поле Проверить.

ПРИМЕЧАНИЯ :

Используйте надежные пароли, состоящие из букв в верхнем и нижнем регистре, цифр и символов. В ненадежных паролях не используются сочетания таких элементов. Надежный пароль: Y6dh!et5. Ненадежный пароль: House27. Пароль должен состоять не менее чем из 8 знаков. Лучше всего использовать парольную фразу длиной не менее 14 знаков.

Очень важно запомнить пароль, поскольку восстановить его с помощью корпорации Майкрософт будет невозможно. Все записанные пароли следует хранить в надежном месте вдали от сведений, для защиты которых они предназначены.

Нажмите кнопку ОК.

Расшифровка и открытие базы данных

Откройте зашифрованную базу данных точно так же, как обычно открываете любую другую.

Появится диалоговое окно Необходимо ввести пароль.

Введите пароль в поле Введите пароль базы данных и нажмите кнопку ОК.

Удаление пароля

На вкладке Работа с базами данных в группе Работа с базами данных нажмите кнопку Расшифровать базу данных.

Откроется диалоговое окно Удаление пароля базы данных.

Введите пароль в поле Пароль и нажмите кнопку ОК.

К началу страницы
0
0 / 0 / 1
Регистрация: 04.04.2014
Сообщений: 42
18.05.2017, 16:31  [ТС]
нет, это сделано в приложении
0
Эксперт .NET
 Аватар для Rius
13089 / 7649 / 1671
Регистрация: 25.05.2015
Сообщений: 23,291
Записей в блоге: 14
18.05.2017, 16:33
Это - что?
0
0 / 0 / 1
Регистрация: 04.04.2014
Сообщений: 42
18.05.2017, 16:36  [ТС]
Мне нужны советы по тому как воплотить это через windows forms, с бд все в порядке. Мне нужно сделать проверку через текстовые поля, у меня есть заранее заготовленный "администратор". Я хочу сделать проверку на наличие того вошел ли этот пользователь, и сделать "кнопку" видимой. Как это реализовать я не знаю. Пользоваться элементами с другой формы в visual studio проблематично, но я продвинулся в том, что реализовал это на форме входа. Но при открытии и закрытии других вкладок и переходе на содержание, где есть панель, она становится опять открытой. А мне нужно сделать ее закрытой для учеников и открытой только для пользователя, который войдет как "преподаватель"
0
9 / 9 / 5
Регистрация: 19.08.2016
Сообщений: 86
18.05.2017, 16:38
Цитата Сообщение от comedi Посмотреть сообщение
нет, это сделано в приложении
Должна быть среда для работы с БД, а в приложении строка подключения к БД (Логин и пароль). Сделано для того чтобы БД не была просмотрена или скопирована третьим лицом .

Добавлено через 1 минуту
Форма создания нового резидента есть (ученик или учитель) ?

Добавлено через 15 секунд
Форма создания нового резидента есть (ученик или учитель) ?
0
Эксперт .NET
 Аватар для Rius
13089 / 7649 / 1671
Регистрация: 25.05.2015
Сообщений: 23,291
Записей в блоге: 14
18.05.2017, 16:44
Я сильно сомневаюсь, что здесь с БД всё в порядке, что она клиент-серверная с логином/паролем, и её невозможно скопировать.

Цитата Сообщение от comedi Посмотреть сообщение
Пользоваться элементами с другой формы в visual studio проблематично
Тут в разделе .Net каждый второй вопрос от новичка про передачу данных между формами. Никто же не читает, что написано до него.

Добавлено через 5 минут
Например,
Проверка пользовательского ввода
Как передать данные из одной формы в другую
0
0 / 0 / 1
Регистрация: 04.04.2014
Сообщений: 42
18.05.2017, 16:46  [ТС]
бд можно скопировать. сам проект находится с базой в папке. Но это не суть. Открывается лишь сам exeшник. Вот собственно скриншоты , по которым должна будет скрываться панель. На входе я реализовал скрытие кнопки, но при переходе по другим вкладкам и возврату к содержанию кнопка перестает быть невидимой. вот загвоздка.
HTML5
1
http://www.************/view/8097058/
HTML5
1
http://www.************/view/8097065/
Личный кабинет должен быть виден только преподавателю, при входе с логином и паролем админа, а остальные пользователи эту кнопку видеть не должны
0
9 / 9 / 5
Регистрация: 19.08.2016
Сообщений: 86
18.05.2017, 16:46
C#
1
2
3
4
5
6
7
8
9
10
  switch (IDRULE) // Права из БД (0 - Учитель, 1 - Ученик)
                    {
                        case 0: // Учитель
                            // Код манипуляций с правами учителя 
                            break;
 
                        case 1: // Ученик
                            // Код манипуляций с правами ученика
                            Button1.Enabled = fasle;
                            break;
0
9 / 9 / 5
Регистрация: 19.08.2016
Сообщений: 86
18.05.2017, 16:49
В свойствах элементов управления установи противоположные значение
0
0 / 0 / 1
Регистрация: 04.04.2014
Сообщений: 42
18.05.2017, 16:49  [ТС]
Как это в принципе и реализовано в коде:
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
27
28
29
30
31
32
        private void button1_Click(object sender, EventArgs e)
        {
            { //Авторизация пользователя
                OleDbConnection connect = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=posobie_base.mdb");
                try
                {
                    string comand = string.Format("Select * From Users WHERE Login="" + textBox1.Text + """ + "AND Password="" + textBox2.Text + """);
                    OleDbCommand check = new OleDbCommand(comand, connect);
                    connect.Open();
                    if (check.ExecuteScalar() != null)
                    {
                        this.Hide();
                        f1.Show();
                        if (textBox1.Text == "admin" && textBox2.Text == "admin")
                        {
                           f1.Show();
                           f1.button4.Visible = true;
                        }
                        else
                        {
                           f1.button4.Visible = false;
                        }
                    }
                    else
                    {
                        MessageBox.Show("Неверный логин или пороль. Попробуйте снова.", "Ошибка авторизации!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
                finally
                {
                    connect.Close();
                }
В свойствах самой кнопки я поставил значение Visible: False
0
9 / 9 / 5
Регистрация: 19.08.2016
Сообщений: 86
18.05.2017, 17:00
сделай код авторизации в классе формы 1
создай метод
C#
1
2
3
4
 public void FromAUTH(string LOG, Guid PASS)
        { 
 
}
и передавай ему значения

Добавлено через 1 минуту
а вот класс авторизации
C#
1
2
3
4
5
6
 private void Btn_pass_Click(object sender, EventArgs e)
        {
            f1.FromAUTH(txbx_login.Text, txbx_pass.Text);
            Hide();
            f1.ShowDialog();
        }
0
0 / 0 / 1
Регистрация: 04.04.2014
Сообщений: 42
18.05.2017, 17:09  [ТС]
не совсем понял насчет передачи значений.
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
27
28
                OleDbConnection connect = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=posobie_base.mdb");
                try
                {
                    string comand = string.Format("Select * From Users WHERE Login="" + textBox1.Text + """ + "AND Password="" + textBox2.Text + """);
                    OleDbCommand check = new OleDbCommand(comand, connect);
                    connect.Open();
                    if (check.ExecuteScalar() != null)
                    {
                        this.Hide();
                        f1.Show();
                        if (textBox1.Text == "admin" && textBox2.Text == "admin")
                        {
                            f1.FromAUTH(textBox1.Text, textBox2.Text);
                            Hide();
                            f1.ShowDialog();
                           f1.Show();
                           f1.button4.Visible = true;
                        }
                        else
                        {
                           f1.button4.Visible = false;
                        }
                    }
                    else
                    {
                        MessageBox.Show("Неверный логин или пороль. Попробуйте снова.", "Ошибка авторизации!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
C#
1
2
3
4
5
        public void FromAUTH(string LOG, Guid PASS)
        {
            LOG = "admin";
            PASS = "admin";
        }
0
9 / 9 / 5
Регистрация: 19.08.2016
Сообщений: 86
18.05.2017, 17:22
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
27
28
29
  public void FromAUTH(string LOG, Guid PASS)
 { //Авторизация пользователя
                OleDbConnection connect = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=posobie_base.mdb");
                try
                {
                    string comand = string.Format("Select * From Users WHERE Login="" + LOG + """ + "AND Password="" + PASS + """);
                    OleDbCommand check = new OleDbCommand(comand, connect);
                    connect.Open();
                    if (check.ExecuteScalar() != null)
                    {                       
                        if (LOG == "admin" && PASS == "admin")
                        {                           
                           button4.Visible = true;
                        }
                        else
                        {
                           button4.Visible = false;
                        }
                    }
                    else
                    {
                        MessageBox.Show("Неверный логин или пороль. Попробуйте снова.", "Ошибка авторизации!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
                finally
                {
                    connect.Close();
                }
}
0
0 / 0 / 1
Регистрация: 04.04.2014
Сообщений: 42
18.05.2017, 17:27  [ТС]
это событие прописано на кнопке, там класс не получится реализовать.

плюс параметр "admin" переменная PASS не принимает. Ругается на ее тип Guid
0
9 / 9 / 5
Регистрация: 19.08.2016
Сообщений: 86
18.05.2017, 17:31
Так конечно нельзя делать ) в целях безопасности

Добавлено через 2 минуты
Внимательно читай посты ....
Вот то самое событие
C#
1
2
3
4
5
6
  private void button1_Click(object sender, EventArgs e)
        {
            f1.FromAUTH(txbx_login.Text, txbx_pass.Text);
            Hide();
            f1.ShowDialog();
        }
0
0 / 0 / 1
Регистрация: 04.04.2014
Сообщений: 42
18.05.2017, 17:36  [ТС]
Error CS0019 Operator '==' cannot be applied to operands of type 'Guid' and 'string'

Не совсем понимаю тип этой переменной и что она делает благодаря нему
0
9 / 9 / 5
Регистрация: 19.08.2016
Сообщений: 86
18.05.2017, 17:42
Типы данных !!!

Добавлено через 1 минуту
По логике, в вашем коде, авторизация из БД лишняя )))

Добавлено через 1 минуту
Нет сверки полученных данных из полей таблицы БД
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.05.2017, 17:42
Помогаю со студенческими работами здесь

Проверка пользователя
Ребята нужна помощь вот есть такой код <?php $userlist="pages/users.txt"; function vhod($un,$p) { $un =trim($un); ...

Проверка пользователя
Здравствуйте, хотел бы узнать что не так делаю, при регистрации нового пользователя, выдает ошибку что он уже есть, хотя создается только в...

Проверка пользователя ПК
Нужен батник который каждый день сравнивает информацию файла (к примеру file.txt с задающимся заранее содержанием) с переменной, если...

Проверка группы пользователя
На сайте реализованы пользователи как компании, как сделать проверку, если пользователь(компания), состоит в группе id=7, то выделяем этого...

Проверка id пользователя вконтакте
<script src="http://vkontakte.ru/js/api/xd_connection.js?2" type="text/javascript"></script> <script...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru