Asp.net 在网站和Web应用程序之间共享表单身份验证

Asp.net 在网站和Web应用程序之间共享表单身份验证,asp.net,forms-authentication,blogengine.net,Asp.net,Forms Authentication,Blogengine.net,以前,我实现了两个单独的ASP.NET Web应用程序,一个作为虚拟应用程序,位于另一个的子文件夹中,它成功地共享了表单身份验证,如中所述 (基本上,在Web.config中设置相同的部分,并在部分中设置键) 现在,我正在尝试做一些类似于get(这是一个网站,不是一个Web应用程序)的事情,以便与我的Web应用程序共享表单身份验证。我曾尝试将其作为虚拟应用程序放在子文件夹中,并将其设置为单独的IIS站点(相同的域名,不同的端口号),但我根本无法使身份验证工作正常:当我登录Web应用程序时,当我访

以前,我实现了两个单独的ASP.NET Web应用程序,一个作为虚拟应用程序,位于另一个的子文件夹中,它成功地共享了表单身份验证,如中所述

(基本上,在Web.config中设置相同的
部分,并在
部分中设置键)

现在,我正在尝试做一些类似于get(这是一个网站,不是一个Web应用程序)的事情,以便与我的Web应用程序共享表单身份验证。我曾尝试将其作为虚拟应用程序放在子文件夹中,并将其设置为单独的IIS站点(相同的域名,不同的端口号),但我根本无法使身份验证工作正常:当我登录Web应用程序时,当我访问博客时,
Page.User.Identity.IsAuthenticated
始终为“false”

我真的不知道如何开始调试,因为表单身份验证是在我的任何代码运行之前处理的

两个Web.config的
部分相同:

<authentication mode="Forms">
  <forms path="/" domain="localhost" timeout="129600" name=".WebSiteName"
protection="All" slidingExpiration="true" loginUrl="/admin/login.aspx"
cookieless="UseCookies"/>
</authentication>

同时:

<machineKey validationKey="DD45C42ACEAF1E208E9B78288177EBF9C8C7C54C6D05BA2FBA90B5348B8F6987216CB098056891CFE81DC33E37C5F9A2BF1845DBF902C6E4BBFEC2341FFA3635"
decryptionKey="0C69852D8BE0948D545C35B932D394102802FAF7FA46E99B4E5B5E12546E4620"
validation="SHA1" decryption="AES" />


有人对我应该检查或尝试什么有什么建议吗?

这是本期的一个很好的资源:


请注意,本文中有一些链接非常有用。

从未在原始状态下运行过。我最后做的是将两个应用程序都更改为使用标准的AspNetSqlMembershipProvider和AspNetSqlRoleProvider,这两个应用程序都有自己的自定义MembershipProvider和RoleProvider,这并不是什么好理由。从那时起,共享身份验证状态就完美地工作了。不幸的是,它是一个很好的资源。这篇文章已经更新。