я следующий метод действия внутри asp.net mvc5, который я определяю как ChildActionOnly: -Проблемы безопасности при использовании Html.Action для вызова [ChildActionOnly] действие метод
[ChildActionOnly]
public ActionResult GetChildRecords(int customerid)
и я зову его, как следовать , в мой взгляд: -
<div>@Html.Action("GetChildRecords", "Customer", new {customerid = Model.CustomerID})</div>
, но у меня есть следующие вопросы: -
мне нужно сделать, чтобы добавить [A uthorize] аннотации перед моим методом действий с детьми? или я могу быть уверен, что, поскольку его родительский автомат разрешен, так будет также разрешен метод дочернего действия?
могут ли пользователи или хакеры напрямую обращаться к ChildActionOnly напрямую?
могли пользователей или хакеров изменить параметры Html.Action, например, для передачи другого КодКлиента в ниже HTML: -
@ Html.Action ("GetChildRecords", "Клиент", новый {customerid = Model.CustomerID})
?
спасибо за ответ, но я понимаю, что я не заботился о том, что мой метод действия вызывается с использованием запросов ajax, и кажется, что украшение моего метода действия с помощью [ChildActionOnly] не позволит ajax называть его. так что теперь я запутался, потому что мне нужно, чтобы мой метод действия вызывался либо с использованием ajax-запросов, либо с использованием Html.Action, но во время saem, чтобы пользователи или хакеры не вызывали его напрямую? может ли у вас быть способ справиться с этим? –
@johnG Вы можете удалить '[ChildActionOnly]' и украсить действие с помощью '[Authorize]'. И в действии либо проверьте, что этот клиент вошел в систему, имеет право проверить клиента, который он предоставляет .. или вы можете использовать для этого фильтр. – scartag