Могу ли я создать веб-сайт ASP.NET с пользователями без использования MembershipProvider?

Возможно ли иметь веб-сайт ASP.NET, который позволяет пользователям регистрироваться и входить в систему без использования MembershipProvider?

И вместо этого просто работать непосредственно с пользовательскими таблицами базы данных, в которых хранится информация о пользователях?


person Jova    schedule 20.02.2010    source источник


Ответы (3)


Вы можете, но почему бы не использовать MembershipProvider или вашего собственного поставщика членства? Это устраняет необходимость думать о том, как кодировать множество деталей, и для этой цели встроено в платформу. Его действительно довольно просто реализовать, и вам нужно переопределить только те методы, которые вам нужны.

person Russ Cam    schedule 20.02.2010
comment
Точно. MembershipProvider — это модель, в которой вы можете предоставить собственную реализацию, которая делает то, что вы хотите. Есть несколько вариантов по умолчанию, которые поставляются с фреймворком, а также множество других, доступных в Интернете. Просто создайте поставщика, который читает из ваших пользовательских таблиц, и тогда вы получите всю интеграцию с ASP.Net бесплатно. - person Chris Pitman; 20.02.2010

Абсолютно. Вы можете просто сделать все сами. Хотя я бы усомнился в том, что это лучший подход, поскольку он означает выполнение гораздо большего количества работы самостоятельно, когда вы можете использовать то, что выходит из коробки. Если у вас нет особых требований?

person Adam Pope    schedule 20.02.2010
comment
Я спросил больше из интереса. Мне нравится иметь контроль и знать, что делает каждая маленькая часть моего кода, и кажется, что реализация готового MembershipProvider даст мне меньше контроля и обзора того, что происходит. - person Jova; 20.02.2010
comment
Я бы сказал, что если вы относительно неопытный программист, то самостоятельная реализация будет хорошим опытом обучения, но если вы хотите запустить проект и запустить его, тогда вам подойдет поставщик членства. Он не делает все за вас, все еще требуется программирование, он просто выполняет большую часть скучной тяжелой работы и важную часть проверки подлинности. - person Adam Pope; 20.02.2010

Да, ты можешь. Взгляните на класс FormsAuthentication, особенно на методы Authenticate, Signout и Session.Abandon. Вы можете написать свою собственную систему привилегий пользователя, возможно, за меньшее время, чем вы ожидаете.

person citronas    schedule 20.02.2010