Или всё-таки посоветуете использовать SQLAlchemy?
Имхо, в вашем случае пока не надо. Напишите один проект на голом Flask-MySQL, чтобы в голове устоялось как это все работает, а потом уже можно на алхимию переключится.
Так же слышал про Flask-security, но использовать его крайне не хочется.
С одной стороны, вы делая свою авторизацию изобретаете велосипед и еще и небезопасный велосипед.
И с точки зрения безопасности лучше использовать Flask-security.
С другой стороны надо учится и уметь писать авторизацию без модулей.
Палка о двух концах.
По поводу вашего кода. Вы там в строке
SELECT * FROM `user`
забрали всех юзеров, а потом сравниваете есть такой юзер или нет. А есть будет 100500 миллиардов юзеров? То что что делать? Каждый раз крутить такой ужас.
Обычно делают:
cur.execute("""select id from user where login=%s and pass=%s""", (login, passw))
If cur.fetchone().get('id'):
return redirect(url_for('admin'))