На моем рабочем месте есть пара веб-приложений, которые делают именно то, что вы пытаетесь описать.В зависимости от ситуации мы использовали несколько подходов.
Более распространенный подход, который мы используем, состоит в том, чтобы все действительные сайты в IIS указывали на один и тот же каталог.Логика для входа получает URL-адрес, определяет, какой клиентский сайт запрашивается, и учитывает это при входе в систему.Фактическая страница входа в систему одинакова для всех клиентских сайтов, поэтому она просто определяет, какую базу данных использовать.
Если вы хотите сделать что-то более причудливое, другой подход, который мы использовали, - это создать наш собственный MembershipProvider
, после чего вы можете делать все, что захотите.У вас должен быть доступ к HttpContext.Current
, если ваш класс вызывается провайдером аутентификации ASP.NET (вы должны установить провайдер членства в Web.config для вашего провайдера).