Как избежать использования поставщика членства?

В настоящее время мы создаем архитектуру для бухгалтерского приложения с тонким клиентом. Она должна соответствовать двум основным требованиям:

  1. Приложение должно иметь модульную конструкцию. Каждый модуль может иметь (а они на самом деле есть) собственная ролевая система.
  2. Позже приложение должно быть адаптировано для работы с разными базами данных на разных машинах.

Мы считаем, что Asp.NET MVC 3 является подходящей платформой для этой задачи. Для управления данными приложения мы выбрали последнюю версию Entity Framework - его набор поставщиков данных и функция Code First могут сэкономить нам много времени.

Часть, с которой мы связаны, - это система управления пользователями / ролями. У нас должен быть какой-то раздел глобального администрирования для добавления пользователей и предоставления им доступа в модули (только глобальные администраторы могут добавлять пользователей в систему, регистрация "парней с улицы" не поддерживается), и каждый модуль имеет собственный раздел администрирования со своими собственными администраторами и ролями. У нас уже есть модель данных для хранения всего, что мы n eed соответствующим образом, но понятия не имею, как правильно получить доступ к этим данным из приложения.

В настоящее время мы видим два возможных способа решения этой проблемы:

  1. Чтобы написать собственных поставщиков членства и ролей на основе нашего DAL. Никто из нашей команды не делал этого раньше, поэтому мы не уверены, стоит ли этот способ усилий. Провайдер членства не может предложить столько гибкости, сколько требуется приложению, поэтому потребуются некоторые скручивания.
  2. Покопаться в некоторых устаревших книгах, чтобы выяснить, как была организована система администрирования веб-сайтов до создания провайдеров членства.

Оба эти способа не подходят элегантно и неочевидно для нас, и какой путь выбрать - непростой вопрос. Также мы считаем, что это может быть другое решение (может быть затронута архитектура). Итак, мы будем рады видеть любые предложения, связанные с этой проблемой.

8
задан Nate 28 July 2011 в 16:23
поделиться