MVC NHibernate — запретить пользователю обновлять данные другого пользователя

#asp.net-mvc #nhibernate

#asp.net-mvc #nhibernate

Вопрос:

каков правильный способ запретить пользователю удалять / обновлять данные другого пользователя в приложении MVC / NHibernate?

У меня есть объект, который имеет внешний ключ (идентификатор пользователя), и я обновляю его с помощью Session.Update(entity) . Как добавить Where Join предложение or для Update вызова, чтобы ограничить такое действие?

Я мог бы, конечно, проверить, совпадает ли пользователь, выполняющий действие MVC , с entity.UserId , но для этого потребуется дополнительный выбор.

Не могли бы вы что-нибудь предложить?

Ответ №1:

Возможно, вы можете взглянуть на поддержку нескольких арендаторов с фильтрами, перехватчиками,…

http://www.agileatwork.com/bolt-on-multi-tenancy-in-asp-net-mvc-with-unity-and-nhibernate-part-ii-commingled-data/

Комментарии:

1. Мне нравится идея фильтров, однако пример на странице, которую вы предоставили, не работает. Это потому, что в методе OnSave перехватчика propertyNames[] не содержит этого частного поля-арендатора объекта, и я не могу обновить его значение в состоянии []