Question

J'ai une question sur le paramètre querystring ReturnUrl qui est ajoutée par ASP.Net lorsque tenté de frapper une page qui nécessite une authentification. En regardant l'action LogOn de l'échantillon Microsoft NerdDinner (ainsi que tous les autres « code d'authentification échantillon » Je vois sur le net), il a juste le paramètre ReturnUrl déclaré dans la signature de l'action et l'utilise directement dans un appel Redirect (). Cependant, à l'époque WebForms et l'utilisation des contrôles d'adhésion, que nous utilisons pour utiliser l'appel FormsAuthentication.GetReturnUrl (). En plus de retourner le « url par défaut » si aucune URL n'a été spécifié dans la chaîne de requête, il fait aussi quelques contrôles de sécurité (Redirect Cross App et « IsDangerousUrl () »). Sont ceux qui ne sont plus une préoccupation ou sont tous l'échantillon « se connecter » les actions que je vois dans le « filet juste d'ignorer ces questions?

Était-ce utile?

La solution

Je ne suis pas sûr au sujet des échantillons que vous avez examinés, mais il est tout à fait possible d'utiliser des formulaires d'authentification comme est dans MVC et bénéficier des contrôles effectués dans le traitement de FormsAuthenticationModule (ou en utilisant la classe FormsAuthentication directement).

IIRC, la valeur par défaut application MVC dans Visual Studio comprend un adaptateur autour de formes d'authentification (AuthenticationService) qui peut être facilement adapté pour utiliser la chaîne de requête de ReturnUrl.

J'imagine les échantillons en question ont tout simplement négligé les attaques XSR.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top