dartware
@dartware
.NET разработчик

Как организовать авторизацию и аутентификацию в WPF приложении?

Делаю акцент на WPF, потому что обычно кидают статьи по безопасности в ASP.NET, но там вроде своя кухня. Есть база данных, в ней, если грубо округлять, есть 2 таблицы, Users и таблица с данными, в таблице с данными есть столбец UserID и внешний ключ. Клиентская часть представляет собой WPF приложение, есть форма входа и форма создания аккаунта. Интересует где и в каком виде хранить данные пользователя на клиенте, как и чем шифровать, как и по какому протоколу передавать эти данные, непосредственный процесс проверки данных пользователя и.т.д. В первую очередь интересует процесс авторизации через логин и пароль, которые создают сами пользователи.
  • Вопрос задан
  • 3778 просмотров
Пригласить эксперта
Ответы на вопрос 2
tomnolane
@tomnolane
профессиональный разработчик
у меня аналогичная проблема была Как ограничить использование своего декстоп-приложения (.exe) только тем, кто зарегистрирован у меня на сайте (как это выглядит примерно?)?
Смысл в чём: всё что вы напишите на c# || vb можно будет посмотреть (тем или иным образом). Т.е. если едёт аутентификация внутри приложение - то более менее грамотный специалист через CIL увидет, что и с чем сравнивается. Обусфакция - уберёт праздошатающих и студентов. Я пока (лично для себя) решил так: кто пользуется моим приложением - должен ввести логин и пароль, после чего (используя любой принцип шифрования) - отправляется ко мне на сайт, где сравнивается с логином/паролем из БД. Если гуд, тогда обратным вызовом я передаю непосредственно тот файл, который "рабочий" (exe,dll). Точнее ссылку для скачивания его. Приложение подключает его через рефлексию. Перед закрытием, файл (exe,dll) удаляется. Более грамотно - это использовать API. Т.е. вы создали приложение в WPF - в котором нету никакой информации - только кнопки, методы, классы, сво-ва и т.д. Ваше приложение (после аутентификации) обратным методом возвращает в JSON или XML формате данные, которые непосредственно вставляются в ваш WPF. И это наверно самый правильный вариант - сделать, всё через API. Все проверки/добавления/удаления в БД - только через php вашего сайта. В самой программе - никаких паролей и прочего.

от слов к делу: https://tomnolane.ru собственно это он

п.с. регистрацию сделал через сайт
Ответ написан
yarosroman
@yarosroman Куратор тега C#
C# the best
Ну, например, есть приложение и есть БД, можно совместить авторизацию в приложении совместно с авторизацией в БД, тут даже модификация кода не поможет. Если смотрите в сторону WebAPI, то ищите ASP.Net Bearer tocken autorization.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы