Авторизация в СУБД MySQL в связке с [WPF + MVVM + Entity Framework]

436
17 января 2017, 22:26

Есть приложение WPF, разделенное на три части согласно паттерну MVVM. Приложение работает с БД MySql средствами Entity Framework 6. Появилась необходимость авторизации пользователей в приложении. Каждый пользователь - это не просто запись в таблице Users базы данных, он также является пользователем на уровне СУБД (сделал так для разграничения прав на определенные таблицы и для записи в логи). Так вот, как реализовать следующий функционал в соответствии с MVVM:

  • при запуске выводить окно авторизации, где пользователь вводит свои логин и пароль;
  • потом по введеным логину и паролю генерировать строку подключения, по которой и будет подключаться контекст EF к базе данных. Важно делать это именно таким образом, чтобы можно было в коде быстро и удобно передавать эту строку в контекст;
  • дальше пытаться уже, собсно, авторизоваться в СУБД и, если авторизация успешна, работать под этим пользователем (в БД есть триггеры, пишущие логи изменений, в которых много раз используется функция CURRENT_USER);
  • хранить строку подключения где-то в файле крайне нежелательно, т.к. это плохо скажется на безопасности да и на скорости.
READ ALSO
Не сохраняется добавление записи в БД, EF

Не сохраняется добавление записи в БД, EF

Есть банальная табличка

349
Почему Thread.Sleep ведёт себя неправильно? Как мне сделать задержку или длинные вычисления в графической программе?

Почему Thread.Sleep ведёт себя неправильно? Как мне сделать задержку или длинные вычисления в графической программе?

Мне нужно выводить информацию пользователю с задержкойК примеру, менять содержимое текстовой метки каждую секунду

515
Ошибка 500 при обращении к /Token в ASP.Net WebApi

Ошибка 500 при обращении к /Token в ASP.Net WebApi

Пытаюсь получить токен:

403
привязка данных wpf

привязка данных wpf

Есть класс Person

496