多个 Html.AntiForgeryToken(在 HTML 表内)
在我看来,我有一个循环来呈现用户列表:
foreach (var user in Model.Users.Collection)
{}
该表的一列是一个输入按钮,用于对特定用户执行某些操作。输入按钮向操作方法发出 POST 请求。
我想用 Html.AntiForgeryToken 来保护它。但是,每个表行都有一个带有输入按钮的 Html.BeginForm。
<td>
<% using(Html.BeginForm(user.IsInRole ? "RemoveUserFromRole" : "AddUserToRole", "usermanagement", FormMethod.Post)) { %>
<%: Html.AntiForgeryToken("AddRemoveUser") %>
<input name="action" type="submit" value="Update" />
<% } %>
</td>
我应该如何处理这个问题?为每个 Html.BeginForm 渲染多个 Html.AntiForgeryToken?这样做正确吗?
谢谢
In my view I have a loop to render a list of users:
foreach (var user in Model.Users.Collection)
{}
One of the columns of this table is an input button, to perform some action to a specific user. The input button does a POST request to an action method.
I'd like to protect this with Html.AntiForgeryToken. However, each table row has an Html.BeginForm with an input button.
<td>
<% using(Html.BeginForm(user.IsInRole ? "RemoveUserFromRole" : "AddUserToRole", "usermanagement", FormMethod.Post)) { %>
<%: Html.AntiForgeryToken("AddRemoveUser") %>
<input name="action" type="submit" value="Update" />
<% } %>
</td>
How should I proceed about this? Render multiple Html.AntiForgeryToken one for each Html.BeginForm? Is it correct to do this?
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以对所有令牌使用相同的盐值。
然后您可以尝试在您要发布到的两个控制器操作上应用相同的盐:
You could use the same salt value for all tokens.
and then you could try apply this same salt on the two controller actions you are posting to: