0

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

  1. 联邦认证;和
  2. FedAuth1

正在响应的标题中设置。但是,在随后的请求中,它们不是标头的一部分。我使用 Fiddler 确认了这一点,它解释了为什么 User.Identity.IsAuthenticated 在成功登录后总是错误的。

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

干杯

4

1 回答 1

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 > modules 元素中

代替:

<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>

这很难诊断,所以在配置应用程序时要小心!

会员重启摇滚!!!

于 2014-08-30T05:09:52.903 回答