WSFederationAuthenticationModule.RedirectingToIdentityProvider-Ereignis wird nicht aufgerufen
Habe ich 2 Ereignisse in meiner Global.asax.cs-Datei
WSFederationAuthenticationModule_securitytokenvalidated und WSFederationAuthenticationModule_redirectingtoidentityprovider
WSFederationAuthenticationModule_redirectingtoidentityprovider ist nicht genannt, indem wif-Motor. Warum?
public class MvcApplication : System.Web.HttpApplication
{
void WSFederationAuthenticationModule_SecurityTokenValidated(object sender, SecurityTokenValidatedEventArgs e)
{
FederatedAuthentication.SessionAuthenticationModule.IsSessionMode = true;
}
void WSFederationAuthenticationModule_RedirectingToIdentityProvider(object sender, RedirectingToIdentityProviderEventArgs e)
{
//some code
}
}
Dies ist microsoft.identityModel Abschnitt in web.config
<microsoft.identityModel>
<service saveBootstrapTokens="true">
<audienceUris mode="Never">
</audienceUris>
<federatedAuthentication>
<wsFederation passiveRedirectEnabled="true" issuer="http://localhost/dss.web.sts.tokenbaker/" realm="http://localhost/dss.web.frontend" requireHttps="false" />
<cookieHandler requireSsl="false" />
</federatedAuthentication>
<issuerNameRegistry type="Microsoft.IdentityModel.Tokens.ConfigurationBasedIssuerNameRegistry, Microsoft.IdentityModel, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
<trustedIssuers>
<add thumbprint="308efdee6453fff68c402e5eceee5b8bb9eaa619" name="servcert" />
</trustedIssuers>
</issuerNameRegistry>
</service>
</microsoft.identityModel>
Kannst du die von microsoft.identityModel-Abschnitt Ihrer web.config? Das sollte helfen, zu diagnostizieren, die situation.
Ich fügte hinzu, Inhalte von microsoft.identityModel Abschnitt
Haben Sie jemals herausfinden?
Ich war überrascht zu sehen, dass die Methoden aufgerufen werden, automatisch in meiner Anwendung heute. Ich habe immer registriert, Sie auf die Ereignisse. Können Sie Ereignisse finden, die für Sie auch: FederatedAuthentication.FederationConfigurationCreated +=FederatedAuthentication_Federationconfigurationcreated;
Ich fügte hinzu, Inhalte von microsoft.identityModel Abschnitt
Haben Sie jemals herausfinden?
Ich war überrascht zu sehen, dass die Methoden aufgerufen werden, automatisch in meiner Anwendung heute. Ich habe immer registriert, Sie auf die Ereignisse. Können Sie Ereignisse finden, die für Sie auch: FederatedAuthentication.FederationConfigurationCreated +=FederatedAuthentication_Federationconfigurationcreated;
InformationsquelleAutor VoimiX | 2012-01-19
Du musst angemeldet sein, um einen Kommentar abzugeben.
Fehlen Ihnen folgenden Zeilen zu Ihrer web.config:
In configSections-element:
Im system.webServer-element
Ihr Publikum Uris leer ist. Sie müssen geben Sie Ihre web-Anwendung, so dass Sie verbrauchen kann diese Funktionalität. Also, diese Zeile hinzufügen :
Wenn Ihr Probleme reamined nach diesen änderungen, die Sie implementieren können, die Ihre benutzerdefinierten Authentifizierung-Modul abgeleitet von WSFederationAuthenticationModule. So etwas wie dieses :
und dann einfach in der config ändern, anstatt WSFederationAuthenticationModule setzen CustomAuthenticationModule mit der entsprechenden namespace und assembly-Signatur. So können Sie abzufangen Anrufe in Ihrem delegieren.
Hoffe, dass dies hilfreich für Sie.
Rastko
InformationsquelleAutor Rastko
Fügen Sie den folgenden, um Ihre Globalen.asax.cs:
Kredit https://stackoverflow.com/a/9207505/13932
InformationsquelleAutor iano
Stellen Sie sicher, dass Sie verweisen
WSFederationAuthenticationModule
aus den neuen namespaceSystem.IdentityModel.Services
.In meinem Fall war ich noch immer auf Sie aus dem alten
Microsoft.IdentityModel.Web
namespace, die nach der Migration die Lösung .NET 4.5.Fand meine Antwort hier.
InformationsquelleAutor Shahin Dohan
Haben Sie überprüft, dass die passiveRedirectEnabled-Attribut auf true festgelegt ist, die auf das element in Ihrer Website.config?
InformationsquelleAutor klings
Es klingt wie Sie fehlen möglicherweise die
WSFederationAuthenticationModule
in Ihrer Konfiguration. Stellen Sie sicher, dass Sie diese insystem.webServer\modules
:Und diese in
system.web\httpModules
:Lesen hier für weitere Informationen.
InformationsquelleAutor Garrett Vlieger
Eine Sache zu prüfen, ist, dass Sie auf eine konsistente Verbindung zwischen Ihrem web.config-Modul und das Global.asax.cs
using
- Anweisung. Da ist der TypRedirectingToIdentityProviderEventArgs
existiert in beidenSystem.IdentityModel.Services
undMicrosoft.IdentityModel.Web
(ab .NET 4.5), die Sie hinzufügen werden die module von einer assembly in der web.config, sondern verweisen auf die Veranstaltung arg von den anderen assembly im Global.asax.cs. Ich glaube, das würde scheitern.InformationsquelleAutor Carl G
Mein problem war, dass ich folgende Module Hinzugefügt, um sowohl das system.web/httpModules und system.webServer/modules Abschnitte.
Entfernen der Elemente aus dem system.web/httpModules-Abschnitt das Problem gelöst, und alle Ereignisse angebracht, um die WSFederationAuthenticationModule Instanz wurden gefeuert.
InformationsquelleAutor bojingo
Für die Leute, die sub-classing
WSFederationAuthenticationModule
und damit die änderung der Modul-Registrierung name in derweb.config
und sind mit dem auto-Bordnetz-Ansatz (innerhalb derglobal.asax.cs
), werden Sie auch haben müssen, ändern Sie den Anfang des namens der Methode.Wenn Sie zum Beispiel die folgenden in
system.webServer\modules
Müssen Sie den folgenden in Ihre
global.asax.cs
InformationsquelleAutor Martijn B