Пользовательские основные объекты против членства API в ASP.NET? - PullRequest
2 голосов
/ 22 июня 2011

Я пытаюсь разобраться во всех различных методах реализации настраиваемой авторизации в традиционном приложении ASP.NET - кажется, что предпочтительный подход заключается в использовании API членства путем создания модели настраиваемого поставщика.

Я заинтересован в реализации пользовательской модели авторизации ролей, основанной на комбинации ролей и индивидуальных разрешений (роль состоит из разрешений, и пользователь может иметь несколько ролей или определенных разрешений, которые переопределяют любые разрешения, которые могут иметь ролиhave)

В чем преимущество или недостаток создания полноценного поставщика ролей по сравнению с реализацией пользовательского основного объекта и реализации всей логики авторизации при перегрузках метода IsInRole?Являются ли пользовательские принципы устаревшей техникой, восходящей к 1.1?В общем, когда вы должны внедрить пользовательский принципал?

Мы используем Active Directory в качестве хранилища пользователей.Сторонняя консалтинговая фирма внедрила TERRIBLE модуль авторизации на основе пользовательских ролей, который содержит логику и правила авторизации, содержащиеся в XML-файле и передаваемые в объекте Session для каждого пользователя, и не связывается с инфраструктурой ASP.NET для авторизации..

Я бы хотел знать, как лучше всего это сделать

1 Ответ

0 голосов
/ 23 июня 2011

Я бы посоветовал придерживаться архитектуры поставщика членства и роли asp.net. Он хорошо интегрируется и является хорошо продуманной системой.

Если вам нужно использовать другое хранилище учетных записей, то в членстве asp.net или в активном каталоге вы всегда можете реализовать пользовательское членство и / или поставщика ролей. Это не сложно.

Может быть возможно обернуть пользовательскую систему стороннего производителя в пользовательский поставщик ролей, но я бы пошел на заказ, если у вас есть особые потребности, которые не предусмотрены в данных классах.

это видео может быть интересно

...