Cookie已设置但未在后续请求中发送

时间:2014-08-28 22:22:51

标签: membershipreboot

我正在为我的本地用户组准备MembershipReboot演示。我遇到了一个奇怪的场景,即2个cookie:

  1. FedAuth;和
  2. FedAuth1
  3. 正在响应的标头中设置。但是,在后续请求中,它们不是标题的一部分。我使用Fiddler证实了这一点,它解释了为什么User.Identity.IsAuthenticated在成功登录后总是为假。

    可能导致这种奇怪情况的是什么?

    干杯

1 个答案:

答案 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摇滚!!!