Как написал
Захаров Александр, нужно вводить промежуточный уровень в виде серверного приложения.
1) Пароли не должны храниться в приложении. тем более от базы данных.
2) Проверка пароля должны осуществляться в серверном приложении, там же должен быть и уровень доступа к данным.
3) Пароли в базе должны храниться только в зашифрованном виде, и это должны быть не сами пароли, а хеши с солью.
4) Приложение общается не напрямую с базой данных, а с серверным приложением, которое уже и ходит к базе со своим логином-паролем, делает валидацию пользователя и т.д.
5) можно попробовать воспользоваться авторизацией пользователя, подключив серверное приложение к общему домену через kerberos/ldap./AD. - вот пару моделей, я их не пользовал, но посмотрите -
python-notes.curiousefficiency.org/en/latest/pytho... и
https://github.com/mongodb-labs/winkerberos