둘 다 자체 ASP.NET 인증 데이터베이스에서 사용자를 만드는 두 개의 웹 사이트가 있습니다. 아래 둘 모두에 대한 Web.config가 있습니다. 또한 두 솔루션 모두에서 aspnet_Applications
데이터베이스 레코드를 동일하게 만들었습니다. 사용자를 만들면 암호화 된 비밀번호가 동일하지 않으며 비밀번호도 다릅니다.ASP.NET : 응용 프로그램 간의 양식 인증 : 일치하는 암호 암호화 설정
두 시스템이 동일한 사용자 이름과 암호를 사용하는 경우 두 웹 사이트에서 동일한 암호 해시를 만드는 방법에 대해 알고 싶습니다.
<configuration>
<system.web>
<authentication mode="Forms" >
<!-- The name, protection, path, validationKey, validation, decryptionKey,
and decryption attributes must be identical across all applications.
-->
<forms loginUrl="~/Account/Login"
name=".ASPXAUTH"
protection="All"
path="/"
domain="contoso.com"
timeout="2880"
requireSSL="false"
cookieless="UseCookies"
enableCrossAppRedirects="true" />
</authentication>
<!-- Validation and decryption keys must exactly match and cannot
be set to "AutoGenerate". The validation and decryption
algorithms must also be the same. -->
<!-- The validationKey is not wrapped in the solution -->
<!-- These keys are examples -->
<machineKey
validationKey="C50B3C89CB21F4F1422FF158A5B42D0E8DB8CB5CDA1742572A487D940
1E3400267682B202B746511891C1BAF47F8D25C07F6C39A104696DB51
F17C529AD3CABE"
decryptionKey="8A9BE8FD67AF6979E7D20198CFEA50DD3D3799C77AF2B72F"
validation="SHA1"
decryption="Auto" />
</system.web>
</configuration>
그건 트릭을 했어. 비밀번호와 소금을 포함하여 마지막으로 수정 된 비밀번호 데이터베이스를 동기화하면 인증이 정상적으로 작동합니다. 그러나 짧은 샘플 목록을 사용하더라도 사용자 GUID에 충돌이 발생한다는 사실을 알게되었습니다. –