Просто для завершения я отвечу, как я достиг цели, о которой хотел спросить мой первоначальный вопрос.
У меня было два приложения asp.net на одном сервере IIS. Моей целью было сделать так, чтобы при входе пользователя в app1 его учетные данные были доступны в app2. Настройка поставщика членства asp.net - это только один шаг из того, что я искал. Даже если бы оба приложения использовали одну и ту же внутреннюю базу данных и провайдера, я все равно не прошел бы аутентификацию, когда нажал app2. То, что я искал, было решением единого входа.
После того, как оба приложения указывают на вашу базу данных asp_membership, поместите в раздел system.web вашей веб-конфигурации следующее:
<authentication mode="Forms" />
<membership>
<providers>
<clear/>
<add name="AspNetSqlMembershipProvider"
type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
connectionStringName="membership"
applicationName="/"
/>
</providers>
</membership>
<roleManager enabled="true" />
убедитесь, что оба свойства имеют одинаковое имя приложения.
Я использовал IIS 6, поэтому настроил его для автоматической генерации ключа компьютера для обоих приложений. Поскольку оба этих приложения находятся на одной и той же машине, ключ будет одинаковым, это критически важная часть работы единого входа. После настройки IIS в мой web.config
было добавлено следующее
<machineKey decryptionKey="AutoGenerate" validation="SHA1" validationKey="AutoGenerate" />
Это было все, что нужно было. Как только это было сделано, я мог войти в app1, а затем перейти к app2 и сохранить свои учетные данные безопасности.
Спасибо за толчок в правильном направлении.