好吧,这就是我的想法。
在我的索引.cshtml我将一个反伪造令牌传递给创建handlebars模板的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>
这是一个可接受的解决方案还是以某种方式绕过了安全性?