我需要以用户方式集成两个 ASP.NET 站点。我有一个允许用户登录的网页 ASP.NET 4 站点。它有一个自定义用户提供程序。现在,我编写了一个 ASP.NET MVC3 站点,该站点需要与 Web Pages 站点无缝协作,并且只允许来自 Web Pages 站点的用户提供程序的某些用户调用某些操作。作为最后的手段,MVC 站点可以访问 Web Pages 站点的用户数据存储。
PS 如果有必要,我可以将 ASP.NET MVC 站点配置为位于 IIS 中网页站点的子文件夹中。
我需要以用户方式集成两个 ASP.NET 站点。我有一个允许用户登录的网页 ASP.NET 4 站点。它有一个自定义用户提供程序。现在,我编写了一个 ASP.NET MVC3 站点,该站点需要与 Web Pages 站点无缝协作,并且只允许来自 Web Pages 站点的用户提供程序的某些用户调用某些操作。作为最后的手段,MVC 站点可以访问 Web Pages 站点的用户数据存储。
PS 如果有必要,我可以将 ASP.NET MVC 站点配置为位于 IIS 中网页站点的子文件夹中。
要设置FormsAuthentication
跨多个子域使用,请配置以下内容:
指定没有特定子域的 Authentication cookie 的域 - 允许浏览器从任何子域访问 Authentication 票证:
<!-- ... -->
<authentication mode="Forms">
<forms loginUrl="/Index" domain="authtest.com"> ... </forms>
<!-- ... -->
</authentication>
<!-- ... -->
确保单独的应用程序使用相同的机器密钥,以便它们可以正确加密/解密身份验证票证:
<!-- ... -->
<system.web>
<machineKey validationKey=" ... 3D26FD5F940C2FD0AF8065F29A"
decryptionKey=" ... 940CD33EBCE5065F2F2334D"
validation="SHA1" decryption="AES" />
<!-- ... -->
</system.web>
<!-- ... -->
其他一切都是标准的 ASP.Net 身份验证详细信息/配置。