Резюме
Короче говоря, нам было поручено потрясти части аутентификации и авторизации довольно старого и раздутого приложения asp.net, в котором ранее все эти компоненты были написаны с нуля. Поскольку наше приложение не является типичным, и никто из нас не имеет опыта работы со встроенными в asp.net провайдерами членства, мы не уверены, следует ли нам снова проверять нашу собственную аутентификацию и авторизацию или мы должны попытаться работать в рамках Мыслится с провайдером членства в asp.net и разрабатываем нашего собственного провайдера членства.
Наше приложение
У нас есть довольно старое приложение asp.net, которое устанавливается в местах расположения клиентов для обслуживания клиентов в локальной сети. Администраторы создают пользователей ( пользователи не регистрируются ), и в зависимости от установки у нас может быть программное обеспечение, интегрированное с LDAP.
В настоящее время интеграция LDAP массово импортирует пользователей в нашу базу данных, и когда они входят в систему, она аутентифицируется в LDAP, поэтому нам не нужно управлять их паролями. Там нет ничего удивительного.
Администраторы могут назначать пользователей на 1 группу и изменять полномочия этой группы для управления доступом к различным частям программного обеспечения.
Группы обслуживаются администраторами (веб-интерфейс) и, как было сказано ранее, предоставляют / запрещают разрешения для определенных функций в приложении.
Все это было полностью написано с нуля без использования какой-либо встроенной авторизации .net или аутентификации. У нас буквально есть IsLoggedIn()
методы, которые проверяют вход в систему и перенаправляют на нашу страницу входа, если это не так.
Наш переписать
Нам было поручено более тесно интегрироваться с LDAP, они хотят, чтобы мы связывали группы в нашем приложении с группами (или любыми типами контейнеров, которые использует LDAP) в LDAP, чтобы, когда клиент решил использовать нашу интеграцию LDAP, им не нужно управлять своими пользователями в LDAP И в нашем приложении.
По-новому они будут просто создавать пользователей в LDAP, добавлять их в группы в LDAP, и наше приложение увидит, что они принадлежат к соответствующей группе LDAP, аутентифицировать и авторизовать их.
Кроме того, мы получили разрешение на полное удаление кода аутентификации и авторизации пользователя и повторное его выполнение.
Наша проблема
Проблема в том, что ни у кого из нас нет опыта работы с провайдером членства asp.net. Немного разоблачения, которое я испытываю, заставляет меня беспокоиться, что оно не предназначено для использования в таких приложениях, как наше. Тем не менее, разработка нашего собственного провайдера членства ASP.NET и менеджера ролей звучит так, как будто это был бы отличный опыт и, скорее всего, уместно.
В основном, я ищу совет, должны ли мы использовать провайдера членства ASP.NET и API управления ролями, или мы должны продолжать катиться самостоятельно? Я знаю, что это решение будет зависеть от наших требований, поэтому я перейду к ним ниже
Наши требования
Просто быстрый и грязный список
- Поддерживать возможность иметь базу данных пользователей и аутентифицировать их и давать администраторам (только не пользователям) возможность CRUD пользователей
- Разрешить сайту интегрироваться с LDAP, когда он выбран, они не хотят, чтобы пользователи хранили в БД, только отношения между группами, как они существуют в нашем app / db, и группами / контейнерами, как они существуют в LDAP.
- .net 3.5 используется (смесь веб-форм asp.net и asp.net mvc)
- Должен работать в ASP.NET и ASP.NET MVC (не думаю, что это должно быть проблемой)
- Это не может быть ориентировано на пользователя , администраторы должны быть единственными, кто CRUD (или импортирует через ldap) пользователей и группы
- Мы должны иметь возможность авторизации через LDAP, когда он настроен для этого
Я всегда стараюсь внимательно следить за своими вопросами, поэтому не стесняйтесь спрашивать дополнительную информацию. Кроме того, как общее резюме того, что я ищу в ответе, просто. «Вы должны / не должны использовать xyz, вот почему».
Ссылки на провайдера asp.net и материалы по управлению ролями приветствуются, большинство из них, которые я нахожу, старше 5 лет.