У нас есть один сайт, который использует членство ASP.NET для своих учетных записей.Допустим, этот сайт находится на www.domain.com
.
У нас есть еще один сайт, скажем на www.domain.com/site2
, который уже подключается к базе данных сайта # 1 по другим причинам.Мы хотели бы внедрить имя пользователя / пароль для входа на сайт № 2 и использовать существующие учетные данные для входа на сайт № 1, поскольку на сайте № 1 они запрашивают разрешение на доступ к различным системам и т. Д.
Я не пытаюсь создать решение типа единого входа, где вход на один сайт позволяет вам войти на другой, как и другие вопросы.
Я бы хотел, чтобы они могличтобы ввести их имя пользователя и пароль, которые они имеют на сайте № 1, введите его на сайте № 2, и он авторизует их на сайте № 2.
Возможно ли это?
Web.config сайта# 1:
<machineKey decryptionKey="AutoGenerate" validation="SHA1" validationKey="AutoGenerate" />
<membership>
<providers>
<clear />
<add name="AspNetSqlMembershipProvider"
type="System.Web.Security.SqlMembershipProvider"
connectionStringName="VTDB"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="false"
requiresUniqueEmail="true"
maxInvalidPasswordAttempts="5"
minRequiredPasswordLength="8"
minRequiredNonalphanumericCharacters="0"
passwordAttemptWindow="10"
applicationName="/" />
</providers>
</membership>
<profile>
<providers>
<clear />
<add name="AspNetSqlProfileProvider"
type="System.Web.Profile.SqlProfileProvider"
connectionStringName="VTDB"
applicationName="/" />
</providers>
</profile>
<roleManager enabled="true">
<providers>
<clear />
<add connectionStringName="VTDB"
name="AspNetSqlRoleProvider"
applicationName="/"
type="System.Web.Security.SqlRoleProvider" />
</providers>
</roleManager>
....
Web.config сайта # 2:
<membership defaultProvider="AspNetSqlMembershipProvider">
<providers>
<clear />
<add name="AspNetSqlMembershipProvider"
type="System.Web.Security.SqlMembershipProvider"
connectionStringName="VTConnString" />
</providers>
</membership>
<machineKey decryptionKey="AutoGenerate" validation="SHA1" validationKey="AutoGenerate" />
Где VTConnString
указывает на базу данных сайта № 1.
Но когда я звонюMembership.ValidateUser(userName, password)
на сайте # 2, всегда возвращается false
.