Несколько Html.AntiForgeryToken (внутри таблицы HTML) - PullRequest
2 голосов
/ 09 февраля 2011

На мой взгляд, у меня есть цикл для отображения списка пользователей:

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.AntiForgeryToken по одному для каждого Html.BeginForm?Правильно ли это сделать?

Спасибо

1 Ответ

0 голосов
/ 10 февраля 2011

Вы можете использовать одно и то же значение соли для всех токенов.

<%: Html.AntiForgeryToken("some_random_string") %>

и затем вы можете попробовать применить эту же соль к двум действиям контроллера, которые вы публикуете:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...