|
232 / 153 / 85
Регистрация: 06.10.2020
Сообщений: 468
|
|
Хранить строку в приложении14.01.2022, 12:58. Показов 11203. Ответов 209
Метки нет (Все метки)
Всем привет. Помогите, пожалуйста с курсовой.
Значит задача: Создать приложение с пользовательским доступом (логин/пароль, пользователь может быть пользователем, может быть админом). Значит я делаю следующим образом: В программу уже вшит пользователь "Администратор", при первом запуске предлагается создать ему пароль. Как только пароль создан рядом с приложением создается папка "Users" (по ее наличию, собственно, и проверяется первый запуск), где в файлах в зашифрованном виде хранится информация о пользователе. Препод говорит, что это не совсем правильное решение, и файла с данными "Администратор" в папке с пользователями быть не должно, так как (цитирую дословно) "Я скопирую пользователей в другое место, прибью папку Users, запущу программу и получу доступ к Администратору, снова введя пароль, потом верну пользователей назад" ![]() Можно ли как то хранить строковую переменную внутри приложения? Или может еще где-то. Или может какой-то другой метод хранения данных о пользователях есть? Буду очень благодарна за советы. Спасибо
0
|
|
| 14.01.2022, 12:58 | |
|
Ответы с готовыми решениями:
209
Как и в каком виде хранить файлы в приложении
Как правильно хранить и использовать константы в WPF приложении |
|
232 / 153 / 85
Регистрация: 06.10.2020
Сообщений: 468
|
|
| 14.01.2022, 20:25 [ТС] | |
|
0
|
|
|
|
|||
| 15.01.2022, 07:48 | |||
|
А так, просто все содержимое папки шифруется паролем пользователя, и только пользователь сможет прочитать его содержимое. Если предполагается что к данным одного пользователя должен иметь определеный доступ и другие (скажем, только на просмотр без права менять) -- читаем пункт выше. Ну либо SQLite, и сделать вид что все ок. p.s. вообще какой-то странный преподователь, что приходится ответ на этот вопрос искать на форуме. Добавлено через 14 минут
0
|
|||
|
629 / 393 / 135
Регистрация: 06.03.2017
Сообщений: 1,469
|
||
| 15.01.2022, 20:18 | ||
|
0
|
||
|
|
|
| 15.01.2022, 21:20 | |
|
Сделал что-то такое, для начала:
Программа запускается впервые - отсутствует папка Users и файлы в ней. Кнопка логина подписывается как "Sign Up", т.е. "Создать учетку" с ролью Админа. После ввода имени пользователя и пароля создается учетная запись админа, создается папка и файл, в который прописывается имя пользователя, роль (int, перечисление) и хешированный пароль. При повторном запуске программы кнопка логина подписывается уже "Sign In", т.е. "Войти с учетными данными", т.к. в файле users.txt уже есть запись об учетке. Проверять первичный запуск программы нужно не по наличию/отсутствию папки Users, а по наличию валидной записи учетных данных в файле (БД).
2
|
|
|
629 / 393 / 135
Регистрация: 06.03.2017
Сообщений: 1,469
|
|
| 15.01.2022, 22:42 | |
|
0
|
|
|
304 / 186 / 45
Регистрация: 05.07.2018
Сообщений: 580
|
||
| 15.01.2022, 23:11 | ||
|
Побольше бы таких подходов к безопасности - поменьше бы с лицензиями приходилось париться) P.S. Простите, не удержался
0
|
||
|
|
||
| 15.01.2022, 23:18 | ||
|
Ну тут все зависит от реализации. Так как задача учебная, то предложение шифрования файлов не подразумевало асинхронности, т.е. без открытых ключей. Достаточно оформить более-менее легитимный алгоритм в самом коде приложения. Ну а если делать все "по науке", то.... ТС выйдет из чата раньше, чем мы закончим
0
|
||
|
|
|||
| 16.01.2022, 06:40 | |||
|
p.s. тоже не удержался... Ну либо, админ должен запускать программу, "вылогиниватся" без завершения программы, и только тогда другой пользователь может подключится. Тоже не панацея (технически из рантайма можно вытянуть значение), но уже гораздо сложнее. Так что повторюсь: 1. 100% защиту обеспечит только отдельный сервис под отдельной учеткой, к которой не имеет доступа пользователь 2. Для учебного примера достаточно научится работать с данными. Если преподователь сам не понимает всех ньюансов обеспечения защиты и главное -- не может/хочет обьяснять как надо, то... печально. Но не смертельно.
0
|
|||
|
232 / 153 / 85
Регистрация: 06.10.2020
Сообщений: 468
|
|||
| 16.01.2022, 10:59 [ТС] | |||
парольЖЮ*мtq\8
0
|
|||
|
|
||
| 16.01.2022, 11:14 | ||
|
И если это будет БД - БД не может не быть ) А вот валидной записи в ней к этой сессии приложения может не оказаться.. Так мы переходим на БД или остаемся в файле?
0
|
||
|
|
|||
| 16.01.2022, 14:06 | |||
|
Добавлено через 1 минуту
0
|
|||
|
|
|||
| 16.01.2022, 14:21 | |||
0
|
|||
|
232 / 153 / 85
Регистрация: 06.10.2020
Сообщений: 468
|
|||
| 16.01.2022, 16:31 [ТС] | |||
|
Добавлено через 2 минуты Была еще идея сохранять учетку Админа в левое место, на диск C:\ например... но могут быть проблемы с доступом, что не есть хорошо. (на компах в универе, например, на диск C:\ записать ничего нельзя, что приведет программу к неработоспособности)
0
|
|||
|
|
||
| 16.01.2022, 16:51 | ||
|
Понятна идея? Файл может прочесть только тот, чей хеш пароля совпадает хоть с одним из хешей админов в файле.
0
|
||
|
232 / 153 / 85
Регистрация: 06.10.2020
Сообщений: 468
|
||||
| 16.01.2022, 18:06 [ТС] | ||||
|
Добавлено через 1 минуту Вам не кажется?)))
0
|
||||
|
|
||
| 16.01.2022, 18:27 | ||
|
А теперь если выйти из приложения и войти снова при отсутствующей папке - какого админа брать будете и от куда? ) По моему очевидно, что нужно нового регистрировать или говорить "О-па-чки, ошибка! Верните папку!"...
0
|
||
| 16.01.2022, 18:27 | |
|
Где хранить информацию в WPF приложении чтобы её можно было переносить с приложением на любой компьютер? Где лучше хранить строку подключения к sql? Как хранить переменную в приложении Где лучше хранить рисунки в приложении? Как хранить в приложении большой объем текста Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Вступаем в новую фазу генерации favicons, векторную.
russiannick 02.11.2026
Теперь нет нужды скрывать что используется простой svg. Исходный код изображения помещаем в поле и жмем кнопку. Исходник преобразуется в вид корректный для помещения в favicon или в url(). Нажатие. . .
|
Генератор паролей (вариант №4)
Maks 01.11.2026
После публикации 3-го варианта генератора паролей, разослал его своим коллегам (с целью оценки), в итоге были получены следующие рекомендации:
1. Вернуть возможность использования знаков | 1 l I;. . .
|
Генератор паролей (вариант №3)
Maks 30.10.2026
Финальная версия генератора паролей 1С.
Доработка решения в этот раз коснулась только визуальной части, а именно, добавлен реквизит ДопПараметры (тип Булево), который скрывает/ отображает реквизиты:. . .
|
Магическое мышление и магия, современная наука не отличима от магии (говорит ИИ Джемени)
zorxor 30.10.2026
Джемени, расскажи, пожалуйста, что такое магическое мышление, что такое магия, почему современная наука чем-то напоминает магию?
Фраза «Любая достаточно развитая технология неотличима от магии». . .
|
|
За какое время ИИ может подобрать пароль по хешу (рассказывает Джемени ИИ)
zorxor 30.10.2026
Расскажи, Джемени, если известен хэш МД5, например, за сколько ИИ сможет подобрать соответствующий пароль?
Искусственный интеллект (ИИ) может подобрать простой или средний по сложности пароль по. . .
|
Кто убил Suno? Почему наше солнышко погасло? (диалог с ИИ Джемени)
zorxor 30.10.2026
Как убивали Suno. Хронология.
«Убийство» музыкальной нейросети Suno — это затяжной процесс, в котором технологический хайп стартапа разбился о жесткую реальность судебных исков от гигантов. . .
|
Генератор паролей (вариант №2)
Maks 30.10.2026
Обновленная версия ранее созданной обработки.
Добавлены следующие реквизиты типа Булево:
- Буквы;
- Цифры;
- Символы.
Изменена логика команды "Сгенерировать" и процедуры "ПриОткрытии":. . .
|
Генератор паролей (вариант №1)
Maks 29.10.2026
Реализация из решения ниже выполнена исключительно по моей инициативе, дабы облегчить себе работу в создании паролей для администрируемых мною сервисов и пользователей.
Самым главным критерием для. . .
|