Здравствуйте.
Долгое время использую систему авторизации от MS (
ASP.NET Identity 2.0), гуру ASP.NET MVC отзываются о нем очень плохо, да и я сам за долго время нашел свои косяки:
1. Очень сильная привязка к SQL-Server — сложно поменять базу. И на данный момент система обновляется каждые два месяца, что приходится переписывать чужие имплементации под новые, особенно NoSQL.
2. Не позволяет добавлять в коллекцию свои атрибуты (Claims не считается).
3. Не проверяет доступ при запросе, т.е. проверка идет только по выданным кукисам и их дате. Если я залогинюсь с двух браузеров, и во втором браузере поменяю пароль, то сессия в первом браузере остается валидной — юзер может спокойно листать защищенные страницы сайта, пока не пройдет N-ое время. А вот вариант ставить коротко время проверки имеет свои недостатки, явный из них: иногда приходиться нажимать Logout несколько раз, чтобы заработало. :D
Сам я видел только 1 проект закрытый от опытного разработчика (он проверяет через Application_BeginRequest) и несколько статей в сети (через BaseController и IPrincipal). И в каждом мне что-то не хватает, да и какой из них лучше использовать?
Гуру ASP.NET MVC, пожалуйста, поделитесь с своими реализациями аутентификации и авторизации, или же дайте наводку на самую лучшую, по Вашему мнению, статью, где описывается хорошая и гибкая система авторизации. Желательно под MVC 5.
Спасибо.