Erreur - Un SignInResponse message ne peut rediriger dans le courant de l'application web MVC 2.0 de l'application
J'ai une situation où nous avons une application MVC 2(j'ai essayé cela avec une base MVC 2 app sans trucs supplémentaires, toujours le même problème) et je suis à l'aide de adfs 2 pour authentifier mes utilisateurs.
Donc..
Maintenant, je reçois dans ma demande et j'obtiens le ci-dessous..
ID3206: UN SignInResponse message ne peut rediriger dans le courant de l'application web: '/[app] " n'est pas autorisée.
Description: Une exception non gérée s'est produite pendant l'exécution de la demande web actuelle. Veuillez consulter la trace de la pile pour plus d'informations sur l'erreur et où elle a son origine dans le code.
Détails De L'Exception: Microsoft.IdentityModel.Les protocoles.FederationException: ID3206: UN SignInResponse message ne peut rediriger dans le courant de l'application web: '/[app] " n'est pas autorisée.
J'ai lu la plupart des blogs sur ce sujet, et affecté à l'une..
<federatedAuthentication>
<wsFederation passiveRedirectEnabled="true" issuer="https://auth.[domain]/adfs/ls/" realm="https://[development domain]/[app]/" requireHttps="true" />
<cookieHandler requireSsl="true" />
</federatedAuthentication>
<audienceUris>
<add value="https://[development domain]/[app]/" />
</audienceUris>
- J'ai le slash sur le domaine et audienceUris.
- J'ai ajouté ce qu'il a suggéré à Application_BeginRequest – j'ai ensuite copié le code de [domaine du développement] où les certs sont.. Il est juste bloqué dans une boucle infinie alors.
- J'ai aussi vérifié mes Partie de confiance sur le canton de Genève serveur.. Les Identifiants et les points de terminaison(POST) sont à la fois https://[domaine du développement]/[app]/- encore une fois avec le slash
Je pense que c'est un problème avec le fait que c'est une application MVC, j'ai créé de nombreuses Revendications de site web et j'ai obtenu mon réclamations etc sur la valeur par défaut.page aspx. Ma pensée est que le routage qui est impliqué avec le MVC application est en quelque sorte le poster de retour de mal?
toute aide vraiment apprecaited que je cherche à ce calme pour un certain temps maintenant, en vain..
J
- J'ai le même problème avec MVC4.
Vous devez vous connecter pour publier un commentaire.
J'ai déchiré mes cheveux à ce sujet. Moi aussi j'ai le slash de fin spécifiée dans ma configuration. Il s'avère que, dans mon cas, dans mon application avec une barre oblique dans le navigateur comme suit:
http://localhost/myapp/
de travail, alors que
http://localhost/myapp
ne sera pas.
Si je peux creuser un peu plus les raisons pour lesquelles c'est le cas, je vais ajouter un peu plus de fond sur le pourquoi de ce qui se passe.
Je remplace la
RedirectToIdentityProvider
sur sous-classe deWSFederationAuthenticationModule
. Ce n'arrive qu'une fois avant de la rediriger vers les STS. Vous devez indiquer le fichier de configuration pour utiliser cette classeFixedWSFederationAuthenticationModule
au lieu de la defualtWSFederationAuthenticationModule
WSFederationAuthenticationModule_RedirectingToIdentityProvider
?RedirectingToIdentityProviderEventArgs
vous permet de muter lesSignInRequestMessage
aussi loin que je peux dire.Ce code prend soin de tout cela (il a mis en mondial.asax):
EDIT:
Une autre chose à vérifier est les federationAuthentication/wsFederation élément dans votre microsoft.identityModel dans le Web.config. Vérifiez que l'émetteur et le domaine sont corrects.
Je suis en utilisant l'authentification par Formulaires avec WIF. Les formes module auth redirige les requêtes non autorisées pour le bon contrôleur et les magasins de l'origine de la requête de l'URL dans la
ReturnUrl
paramètre, j'ai donc travaillé autour de ce bug en remplaçant laGetReturnUrlFromResponse
méthode.Pour utiliser cette classe, vous devez l'enregistrer dans le site web.config.
Ajouter cet élément à la
system.webServer/modules
section, en changeant les parties appropriées:J'ai eu ce problème quand j'ai ajouté STS référence à mon application web qui s'exécute par défaut en vertu de serveur virtuel sur port dynamique. Je l'ai changé pour l'exécuter de IIS (comme avec virtual serveur web, redirection vers STS ne sera possible que si vous exécutez hors de IIS /IIS Express) et édité par web.config pour changer d'audience Uri sous Microsoft.IdentityModel de configuration.
Quand j'ai Regardé le FederationMetadata.xml il était toujours en se référant à l'ancien emplacement (avec port dynamique). J'ai actualisé mon STS Référence en ajoutant de nouveau et cela a fonctionné.