![](/img/trans.png)
[英]Swagger - how to add antiforgery token field in UI that'll be used in headers
[英]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.