ASP.NET MVC Атрибут, позволяющий только пользователю редактировать его / ее собственный контент
У меня есть метод контроллера называетсяEdit
в котором пользователь может редактировать данные, которые он создал, как ...
public ActionResult Edit(int id)
{
Submission submission = unit.SubmissionRepository.GetByID(id);
User user = unit.UserRepository.GetByUsername(User.Identity.Name);
//Make sure the submission belongs to the user
if (submission.UserID != user.UserID)
{
throw new SecurityException("Unauthorized access!");
}
//Carry out method
}
Этот метод работает нормально, однако его сложно добавить в каждый метод редактирования контроллера. Каждая таблица всегда имеетUserID
поэтому мне было интересно, если бы был более простой способ автоматизировать это с помощью[Authorize]
Атрибут или какой-то другой механизм, чтобы сделать код чище.