我有以下结构
www.website.com --> ASP.NET 4.0 网站
www.website.com/blog --> NET 4.0,网络应用
两者都针对同一个 SQL 数据库进行表单身份验证,并使用框架 ASP.NET 成员资格和角色。我可以很好地登录每个部分(相同的用户/密码),但身份验证不会继续进行,即如果我登录/然后单击指向的链接/blog/,则/blog/认为我是匿名的并提示再次登录。我已经完成了基础
IE
<authentication mode="Forms">在站点和应用程序 web.configs 中都相同- 相同
<machineKey>的部分(是的,相同的validationKey和decryptionKey)
因此,我随后检查了生成的 cookie,并注意到网站和 Web 应用程序似乎在使用不同的 cookie。
由 website.com/blog 创建的 Cookie
- .ASPXFORMSAUTH-27604f05-86ad-47ef-9e05-950bb762570c
- .ASPXROLES
由 website.com 创建的 Cookie
- .ASPXFORMSAUTH
我认为这是问题所在,尽管尽管有相同的<authentication>部分看起来像
<authentication mode="Forms">
<forms timeout="30" slidingExpiration="true" name=".ASPXFORMSAUTH" enableCrossAppRedirects="true" protection="All" cookieless="UseCookies"/>
</authentication>
我确实阅读了其他几篇文章,例如 使用表单身份验证的单点登录 以及 http://msdn.microsoft.com/en-us/library/eb0zx8fc.aspx
还有一些其他的帖子我现在想不起来了。我已经经历了它们(全部?),但仍然被卡住了。如果需要,我很乐意提供更多调试数据。
非常感谢有人可能提供的任何提示!我想我在这个问题上撞墙了!