Только для вы сможете реализовать это, создав собственного провайдера.
В идеальном мире вы могли бы просто создать провайдера фасадов, а затем, при необходимости, использовать соответствующего провайдера, SQL или AD, для аутентификации и возврата MembershipUser
в той степени полноты, которую вы считаете необходимой.
В реальном мире это все еще возможно, но вам нужно будет прыгнуть через несколько обручей:
- создайте своего провайдера фасада и поместите его сначала в дочерний элемент
providers
элемента membership
И установите его как defaultProvider в элементе membership
- правильно сконфигурируйте SqlMembershipProvider и ActiveDirectoryMembershipProvider и разместите их после вашего фасада.
- со своего фасада, доступ к настроенным провайдерам из статической коллекции
Membership.Providers
для выполнения необходимых функций.
Может оказаться, что вам нужно повторить этот шаблон, если вам нужно использовать роли, и, хотя это применимо, реализация будет немного более сложной и выходит за рамки этого поста.
С другой стороны, полный исходный код для поставщиков SQL можно найти здесь и является отличной отправной точкой и руководством для реализации пользовательского поставщика промышленного класса.
Я бы предложил сначала изучить путь наименьшего сопротивления (и наименьшего труда и головной боли) и придать остроту фасаду, прежде чем пытаться реализовать пользовательскую функцию безопасности с нуля.
Удачи.