我正在为我的本地用户组准备 MembershipReboot 的演示。我遇到了一个奇怪的场景,其中 2 个 cookie:
- 联邦认证;和
- FedAuth1
正在响应的标题中设置。但是,在随后的请求中,它们不是标头的一部分。我使用 Fiddler 确认了这一点,它解释了为什么 User.Identity.IsAuthenticated 在成功登录后总是错误的。
有什么可能导致这种奇怪的情况吗?
干杯
我正在为我的本地用户组准备 MembershipReboot 的演示。我遇到了一个奇怪的场景,其中 2 个 cookie:
正在响应的标题中设置。但是,在随后的请求中,它们不是标头的一部分。我使用 Fiddler 确认了这一点,它解释了为什么 User.Identity.IsAuthenticated 在成功登录后总是错误的。
有什么可能导致这种奇怪的情况吗?
干杯
我的 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>
这很难诊断,所以在配置应用程序时要小心!
会员重启摇滚!!!