繁体   English   中英

在车把模板中添加防伪令牌

[英]Add antiforgery token in handlebars template

我已将剃刀视图更改为车把模板。

在剃刀视图中:

 using (Html.BeginForm("Start", "Form", FormMethod.Post, new { formTypeId = @Model.TypeId, organizationId = @Model.OrganizationId }))
 {
     @Html.AntiForgeryToken()
     <input type="hidden" name="formTypeId" value="@Model.TypeId" />
     <input type="hidden" name="organizationId" value="@Model.OrganizationId" />
     <button class="btn btn-primary btn-block" type="submit">Start</button>
 }

在车把模板中:

<form action="{{StartLink}}" method="post">
    <input type="hidden" name="formTypeId" value="{{TypeId}}" />
    <input type="hidden" name="organizationId" value="{{OrganizationId}}" />
    <button class="btn btn-primary btn-block" style="margin-bottom: 5px;" type="submit">Start</button>
</form>

我不确定如何将防伪令牌添加到车把表单中。

好的,这就是我想出的。

在我的index.cshtml中,我将防伪令牌传递给创建车把模板的js。

@section scripts {
    <script>
        $(function () {
            window.formListBuilder = new app.components.FormListBuilder({
                container: '#forms-container',
                baseUrl: '@baseUrl.ToString()',
                antiForgeryToken: '@Html.AntiForgeryToken()',
                currentUser: JSON.parse('@Html.Raw(Json.Serialize(currentUser))')
            })
        });

    </script>
}

然后在车把模板中使用防伪令牌。

<form action="{{StartLink}}" method="post">
                    {{{antiForgeryToken}}}
                    <input type="hidden" name="formTypeId" value="{{TypeId}}" />
                    <input type="hidden" name="organizationId" value="{{OrganizationId}}" />
                    <button class="btn btn-primary btn-block" style="margin-bottom: 5px;" type="submit">Start</button>
                </form>

是一个可接受的解决方案,还是以某种方式绕过了安全性?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM