Класс System.Web.Security.(Sql)MembershipProvider
имеет некоторые действительно плохие недостатки дизайна:
Существует много командных методов, которые возвращают значения (и генерируют исключения), например ::100100
bool ChangePassword(string username, string oldPassword, string newPassword);
Существует возможность восстановить пароль пользователя, который никогда не следует делать:
public abstract string GetPassword(string username, string answer);
И есть серьезный недостаток - невозможность генерировать буквенно-цифровой пароль без подклассов. (Извините, не могу найти ссылку.)
Кто-нибудь создал более совместимый с CQS и лучше спроектированный фасад поверх стандартного ASP.NET MembershipProvider? Если нет, планирует ли MSFT улучшить эту гм несколько меньше, чем идеальная реализация?