我有以下结构ASP.NET 4.0单点登录失败
www.website.com - > ASP.NET 4.0的Web站点
WWW NET 4.0,Web应用程序
两者都对相同的SQL数据库执行表单身份验证,并使用框架ASP.NET成员资格和角色。我可以登录到每个部分就好(相同的用户/密码),但身份验证不会结束,即如果我登录到/
,然后单击指向/blog/
的链接,/blog/
认为我是匿名并提示再次登录。我已经做了基本
即
- 在这两个网站以及应用程序相同的
<authentication mode="Forms">
web.configs - 相同
<machineKey>
部分(是的,相同的validationKey和decryptionKey)
于是我检查了生成的cookie,并注意到网站和网络应用似乎在处理不同的cookie。通过website.com/blog
- .ASPXFORMSAUTH-27604f05-86ad-47ef-9e05-950bb762570c
- .ASPXROLES创建
饼干创建由website.com
饼干
- .ASPXFORMSAUTH
,我认为这是问题,但我看到它,尽管有相同<authentication>
部分,它看起来像
<authentication mode="Forms">
<forms timeout="30" slidingExpiration="true" name=".ASPXFORMSAUTH" enableCrossAppRedirects="true" protection="All" cookieless="UseCookies"/>
</authentication>
我看过其他几个职位像 Single Sign On with Forms Authentication 以及 http://msdn.microsoft.com/en-us/library/eb0zx8fc.aspx
有还有一些我现在无法回忆的帖子。我已经经历过他们(全部?),但我仍然陷入困境。如果需要,我可以很乐意提供更多的调试数据。
会真的很感谢任何人可能有的提示!我认为我在这一个上打了一堵墙!
我建议看看如果你不能让你的修改变得可配置并让维护人员接受它。在我看来,它主要是在同一个域上的多个引擎之间进行权衡,并且单点登录 - 您可能必须选择其中一个或另一个,但用户不应该为了使其正常工作而进行调试...... – jmoreno