|
232 / 153 / 85
Регистрация: 06.10.2020
Сообщений: 468
|
|
Хранить строку в приложении14.01.2022, 12:58. Показов 11059. Ответов 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? Как хранить переменную в приложении Где лучше хранить рисунки в приложении? Как хранить в приложении большой объем текста Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет!
За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки
Правым кликом по серверу -> отладочная информация -> edit
Заменить "net": "raw", на "net": "tcp",
Нажать кнопку reload.
|
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|