C# WIF:SessionAuthenticationModule始终为空
我正试图让WIF建立一个MVC项目,但没有任何效果。我遇到的问题是,C# WIF:SessionAuthenticationModule始终为空,c#,asp.net-mvc,wif,C#,Asp.net Mvc,Wif,我正试图让WIF建立一个MVC项目,但没有任何效果。我遇到的问题是,FederatedAuthentication.SessionAuthenticationModule始终为空。我已将以下行添加到web.config的configSections下: <section name="system.identityModel" type="System.IdentityModel.Configuration.SystemIdentityModelSection, System.Ide
FederatedAuthentication.SessionAuthenticationModule
始终为空。我已将以下行添加到web.config的configSections
下:
<section name="system.identityModel"
type="System.IdentityModel.Configuration.SystemIdentityModelSection, System.IdentityModel, 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" />
我还尝试初始化模块:
<modules>
<add name="SessionAuthenticationModule"
type="System.IdentityModel.Services.SessionAuthenticationModule, System.IdentityModel.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
preCondition="managedHandler" />
</modules>
还是没什么。我通过nuget安装了WIF。我注意到大多数在线文档(如我上面发布的)的WIF名称空间是System.IdentityModel
,而我通过nuget获得的WIF名称空间是Microsoft.IdentityModel
。这会引起麻烦吗
一些规格:
标准MVC4项目
使用
Microsoft.IdentityModel.dll
v3.5.0.0System.IdentityModel.xxx是.Net 4.5版本,如果WIF将所有内容合并到核心框架中
Microsoft.identitymodel.xxx是单独安装的.net 4版本。您不需要使用nuget安装WIF 4。Net framework 4.5对该库具有内置支持。 您的web.config必须如下所示:
<configSections>
<section name="system.identityModel" type="System.IdentityModel.Configuration.SystemIdentityModelSection, System.IdentityModel, 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"/>
</configSections>
以及:
<system.webServer>
<modules>
<add name="WSFederationAuthenticationModule" type="System.IdentityModel.Services.WSFederationAuthenticationModule, System.IdentityModel.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
<add name="SessionAuthenticationModule" type="System.IdentityModel.Services.SessionAuthenticationModule, System.IdentityModel.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
</modules>
</system.webServer>