Я хотел бы предложить, что лучший способ написания вашей собственной пользовательской системы членства / аутентификации - это на самом деле использовать встроенный класс MembershipProvider в .NET и извлекать из него ваш собственный пользовательский класс. Вы всегда можете создать своего собственного поставщика членства, унаследовав классы System.Web.Security.MembershipProvider (и Role и Profile !) Внутри класса. .NET Framework и предоставьте свою собственную конкретную реализацию. Таким образом, вы получаете преимущество от использования надежной и надежной «базовой структуры», на которой вы можете построить свою систему аутентификации и авторизации.
Получив своего собственного поставщика членства по собственному базовому классу фреймворка, вы получаете возможность использовать многие из замечательных функций встроенной системы членства ASP.NET, таких как декларативная авторизация в файле web.config и встроенный -в ASP.NET аутентификации билеты. Я ответил на очень похожий вопрос здесь , который подробно описывает некоторые из этих преимуществ.
Должен признать, что единственное, что я нашел необычным из-за упущения в «стандартных» встроенных провайдерах членства в ASP.NET, это отсутствие простого способа позволить пользователям регистрироваться на веб-сайте, но не «проверять» сразу же отправьте пользователю электронное письмо, содержащее «ссылку для проверки», которую он должен щелкнуть, прежде чем получить доступ к веб-сайту. Хотя это не стандартная функция в классе ASP.NET MembershipProvider, ее относительно легко реализовать.
Скотт Митчелл (Scott Mitchell) предлагает большую серию статей о членстве в ASP.NET, поставщиках ролей и профилей (в том числе о проверке учетной записи по электронной почте перед входом в систему), которые можно найти здесь:
Изучение членства, ролей и профиля ASP.NET 2.0
, что должно помочь, если вы получаете своего собственного провайдера от провайдеров ASP.NET.