6

私は ASP vnext と AngularJS をいじっています。私は Web API をセットアップし、いくつかのコントローラーを使用しており、Angular を使用して Web マジックを実行しています。

プロジェクトを立ち上げて実行するために、このガイドのほとんどに従いました

...うまくいきます。データベースなどをセットアップしましたが、動作しています。ID フレームワークもセットアップしましたが、まだ使用していません。

いくつかのデータを WebAPI に投稿したいと考えています。これもうまくいきますが、偽造防止トークンを使用しながらやりたいと思います。私はたくさんグーグルで検索しましたが、これが最も理にかなっていると思います: novablog

ただし、これは System.Web.Helpers を使用してトークンを作成し、それらを検証します。vnext では使用できなくなりました。トークンの作成と検証に何を使用すればよいかわかりません。

何か案は?

4

2 に答える 2

5

以下は、ASP.NET 5 の MusicStore サンプルの例です。

https://github.com/aspnet/MusicStore/blob/master/src/MusicStore/Controllers/ShoppingCartController.cs#L62

[FromServices] AntiForgery antiforgery上記のリンクのスニペット (上記のリンクの動作が気に入らない場合は、アクションのパラメーターとしてを使用できることに注意してください):

[HttpPost]
public async Task<IActionResult> RemoveFromCart(int id)
{
    var formParameters = await Context.Request.ReadFormAsync();
    var requestVerification = formParameters["RequestVerificationToken"];
    string cookieToken = null;
    string formToken = null;

    if (!string.IsNullOrWhiteSpace(requestVerification))
    {
        var tokens = requestVerification.Split(':');

        if (tokens != null && tokens.Length == 2)
        {
            cookieToken = tokens[0];
            formToken = tokens[1];
        }
    }

    var antiForgery = Context.RequestServices.GetService<AntiForgery>();
    antiForgery.Validate(Context, new AntiForgeryTokenSet(formToken, cookieToken));
    ......
于 2015-03-30T20:05:53.763 に答える
0

MVC Github リポジトリを確認してくださいValidateAntiForgeryTokenAttribute。存在します。

そして、asp-anti-forgeryタグヘルパーがあります

于 2015-03-30T20:06:03.800 に答える