Как запретить одному пользователю просматривать другие данные, изменив значение идентификатора записи в маршруте? - PullRequest
0 голосов
/ 02 сентября 2018

Я разрабатываю как приложение asp.net MVC, и у меня есть два маршрута: http://localhost:60184/Owner/Edit/11, который принадлежит пользователю-1, а второй - http://localhost:60184/Owner/Edit/1 для пользователя-2. Я хочу, чтобы оба пользователя редактировали, удаляли, обновляли только свои собственные данные, и для этого я использовал [Authorize (Roles = "Owner")], но оба владельца могут видеть данные друг друга только путем изменения значения id в маршруте? Кто-нибудь, пожалуйста, помогите, как решить эту проблему?

1 Ответ

0 голосов
/ 02 сентября 2018

Вам просто нужно добавить поле OwnerId в таблицу базы данных, которую вы хотите изменить, и сравнить ее с текущим идентификатором пользователя.

public ActionResult Edit(SomeVmClass model)
{
      var entity = //fetch the entity from DB
      if(User.Identity.GetUserId() != entity.OwnerId)
            return HttpNotFound();
      // your code
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...