Что использовать для контроля пользовательских учетных записей в ASP.NET MVC - PullRequest
0 голосов
/ 18 февраля 2010

Я создаю пользовательскую службу аутентификации (мне просто нужно больше, чем позволяет по умолчанию).Я не могу решить, должен ли я расширить MembershipUser и реализовать соответствующие интерфейсы, или полностью развернуть свой собственный.Есть ли какие-либо преимущества в развертывании моего собственного или какие-либо подводные камни, о которых я должен знать при расширении механизма по умолчанию?

Ответы [ 3 ]

2 голосов
/ 19 февраля 2010

Как далеко вы по умолчанию?

Если ваши потребности далеки от того, что дает вам MembershipProvider, я советую вам пойти своим путем. Лично я не сталкивался с приложением, которое подключалось к существующему хранилищу данных. Таким образом, мы добавим еще одно приложение. Следовательно, я нахожу MembershipProvider более сложным. Аутентификация / Авторизация обычно также не занимает много времени для разработки, и вы полностью контролируете ее. Если это занимает много времени, это, вероятно, также далеко от того, что дает MembershipProvider.

Но если ваши требования близки к MembershipProvider, то вам следует рассмотреть это. Либо так, как оно есть, либо производное от него самостоятельно. Но будьте осторожны. Это может занять больше времени, чем доставка вашего собственного, потому что вам придется выучить его до конца.

Требования к управлению безопасностью

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

0 голосов
/ 19 февраля 2010

Всегда приятно написать собственного провайдера, но это зависит от требований безопасности приложения, которое вы создаете.

В большинстве случаев мне приходилось внедрять собственного провайдера.

  • Использование орма, такого как nhibernate.
  • Нет базы данных, требующей использования плоских XML-файлов.
  • Мне пришлось создать систему, которая требовала более обширной системы разрешений ролей, чем предоставляемые классы членства.

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

0 голосов
/ 19 февраля 2010

Реализация абстрактного класса MembershipProvider. У меня есть реализация с XML в качестве хранилища данных, если вам это нужно.

http://msdn.microsoft.com/en-us/library/system.web.security.membershipprovider.aspx?queryresult=true

...