Ich bin nicht sicher, warum, aber meine FederatedAuthentication.SessionAuthenticationModule auflöst als NULL und stürzt meine Anwendung, wenn ich versuche, meine ClaimsTransformer() Modul auszuführen:Was bewirkt, dass das FederatedAuthentication.SessionAuthenticationModule NULL zurückgibt?
public void EstablishSession(ClaimsPrincipal principal)
{
var sessionToken = new SessionSecurityToken(principal, TimeSpan.FromHours(8))
{
IsPersistent = false, // make persistent
IsReferenceMode = true // cache on server
};
FederatedAuthentication.SessionAuthenticationModule.WriteSessionTokenToCookie(sessionToken);
// FederatedAuthentication.SessionAuthenticationModule == null and I throw an error :(
}
Hier ist, was in meinem web.config ist:
<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.web>
<authentication mode="None" />
</system.web>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
<remove name="RoleManager" />
<remove name="FormsAuthentication" />
<remove name="SessionAuthenticationModule" />
<add name="SessionAuthenticationModule" type="System.IdentityModel.Services.SessionAuthenticationModule, System.IdentityModel.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
</modules>
</system.webServer>
<system.identityModel>
<identityConfiguration>
<claimsAuthenticationManager type="Web.Infrastructure.Authentication.ClaimsTransformer, Web" />
</identityConfiguration>
</system.identityModel>
<system.identityModel.services>
<federationConfiguration>
<cookieHandler requireSsl="false" />
</federationConfiguration>
</system.identityModel.services>
Dies macht mich wahnsinnig, da ich den Code in einem (Proof of Concept) Projekt ohne Probleme läuft, und erscheint ist alles was ich brauche, um diese Funktionalität funktioniert, aber aus irgendeinem seltsamen Grund, wenn ich versuche zu implementieren In unserem realen Projekt ist mein FederatedAuthentication.SessionAuthenticationModule immer NULL.
Was fehlt mir hier? Irgendwelche Ideen? Warum wird das SessionAuthenticationModule nicht korrekt initialisiert?
Warum Sie drei hinzufügen 'entfernen' Knoten vor SessionAuthenticationModule Zugabe? –
Falls die Einstellung an einer anderen Stelle in der .config-Kette hinzugefügt wurde. Entfernen Sie dann habe ich vorher gesehen habe, und da mein Code nicht funktioniert, war ich alles versucht ... – user1265146