Générer AntiForgeryToken dans WebForms
J'ai un .NET Webforms site grâce besoins de poster sur mon MVC de l'Application qui se trouve actuellement à l'intérieur de la Webform site comme une application séparée.
L'application Webform besoin de POSTER des valeurs sensibles à la MVC de l'Application.
Est-il un moyen pour générer un AntiForgeryToken() dans mes Formulaires de Demande de sorte qu'il peut être passé avec le post de formulaire.
Sinon personne ne sait de toute autre coutume anti contrefaçon code qui me permettra de faire quelque chose de similaire à la MVC du AntiForgeryValidation.
source d'informationauteur Naz
Vous devez vous connecter pour publier un commentaire.
La mise en œuvre elle-même n'est pas trop difficile.
(Si vous regardez à la mise en œuvre de la MVC, il est très peu plus que ça. Quelques méthodes helper est tout ce dont vous avez besoin.)
C'est une vieille question, mais la plus récente de Visual Studio 2012 ASP.NET de modèle pour les formulaires web inclut l'anti CSRF code cuits dans la page principale. Si vous n'avez pas les modèles, voici le code qu'il génère:
La version C# de Ian Ippolito réponse ici:
WebForms a une assez similaires analogique dans Page.ViewStateUserKey. Par paramètre par valeur pour l'utilisateur (la plupart choisissent HttpSessionState.SessionId), WebForms permettra de valider le ViewState1 dans le cadre de le MAC vérifier.
1 Il existe des scénarios où ViewStateUserKey sera pas de l'aide. Principalement, ils se résument à faire des choses avec les requêtes GET (ou dans le Page_Load sans vérifier IsPostback), ou la désactivation de la ViewStateMAC.
Vous pouvez utiliser la réflexion pour arriver à la MVC méthodes utilisées pour définir le cookie et la correspondance des entrées de formulaire utilisé pour la MVC de validation. De cette façon, vous pouvez avoir un MVC action avec
[AcceptVerbs(HttpVerbs.Post), ValidateAntiForgeryToken]
attributs que vous pouvez poster à partir d'un WebForms page générée.Voir cette réponse: À l'aide d'un MVC HtmlHelper à partir d'un Formulaire en ligne