我正在为我的本地用户组准备MembershipReboot演示。我遇到了一个奇怪的场景,即2个cookie:
正在响应的标头中设置。但是,在后续请求中,它们不是标题的一部分。我使用Fiddler证实了这一点,它解释了为什么User.Identity.IsAuthenticated在成功登录后总是为假。
可能导致这种奇怪情况的是什么?
干杯
答案 0 :(得分:0)
我的Web.config文件中有一些微妙的错误。
在configSections元素中
而不是:
<section name="system.identityModel.services" type="System.IdentityModel.Services.Configuration.SystemIdentityModelServicesSection, System.IdentityModel.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
我有:
<section name="system.identitymodel.services" type="System.IdentityModel.Services.Configuration.SystemIdentityModelServicesSection, System.IdentityModel.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
在system.webServer&gt;中模块元素
而不是:
<add name="SessionAuthenticationModule" type="System.IdentityModel.Services.SessionAuthenticationModule, System.IdentityModel.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="managedHandler"/>
我有:
<add name="SessionAuthenticationModule" type="System.IdentityModel.Services.SessionAuthenticationModule, System.IdentityModel.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="managedHandler" />
对于system.identityModel.services元素
而不是:
<system.identityModel.services>
<federationConfiguration>
<cookieHandler requireSsl="false" persistentSessionLifetime="30:00:00"/>
</federationConfiguration>
</system.identityModel.services>
我有:
<system.identitymodel.services>
<federationconfiguration>
<cookiehandler requiressl="false" persistentSessionLifetime="30:00:00" />
</federationconfiguration>
</system.identitymodel.services>
这很难诊断,所以在配置应用程序时要小心!
MembershipReboot摇滚!!!