Đây là bài đăng đầu tiên của tôi ở đây, vì vậy xin chào :) Được rồi, chúng ta hãy đến điểm ... Tôi đang viết ứng dụng đầu tiên của mình trong ASP.NET MVC Framework và i có vấn đề với việc kiểm tra các đặc quyền để sử dụng các cá thể của các lớp mô hình (đọc, chỉnh sửa). Mẫu mã trông như thế này:ASP.NET MVC ủy quyền và cho phép sử dụng các lớp mô hình
// Controller action
[CustomAuthorize(Roles="Editor, Admin")]
public ActionResult Stats(int id)
{
User user = userRepository.GetUser(id);
if (user == null || !user.Activated || user.Removed)
return View("NotFound");
else if (!user.IsCurrentSessionUserOwned)
return View("NotAuthorized");
return View(user);
}
Cho đến nay ủy quyền cho thuộc tính chỉ bảo vệ hành động điều khiển, vì vậy câu hỏi của tôi là: làm thế nào để làm cho CustomAuthorize thuộc tính để kiểm tra không chỉ vai trò người dùng, tên người dùng mà còn làm nguồn tức là thuyết minh trong các phương pháp hành động (Ở trên: Lớp người dùng, nhưng có các lớp ORQ LINQ2SQL khác như Tin tức, Hình ảnh, vv) Tất cả các đối tượng này đều có ID duy nhất, vì vậy thực thể người dùng có ID riêng, Tin tức có trường ID và trường UserID được tham chiếu tới bảng Người dùng. Làm thế nào tôi nên giải quyết vấn đề đó?