Có điều gì đó trong các vai trò mà tôi không chính xác nhận được. sử dụng [Authorize]
thuộc tínhThuộc tính ủy quyền theo thứ tự MVC, ưu tiên và câu hỏi chức năng
Khi bạn có [Authorize]
thuộc tính trên bộ điều khiển và hành động trên:
- Khi một vai trò là trong cả hai, vai trò này sẽ có quyền truy cập
- Khi một vai trò duy nhất là được xác định tại Bộ điều khiển, nhưng không phải tại Hành động, không truy cập
- Khi vai trò chỉ được xác định tại Hành động, nhưng không được xác định tại Bộ điều khiển, không truy cập
Tôi hiểu điều đó, đó là hợp lý. Bạn cần truy cập vào bộ điều khiển trước khi bạn có thể chạy một hành động.
Những gì tôi không nhận được là tại sao làm việc này:
[Authorize(Roles = "Algemeen Beheer, Admin, Coordinator, Secretariaat")]
public class FacturatieGegevensController : Controller {
[Authorize(Users = "Stefan.coordinator", Roles = "Algemeen Beheer, Admin")]
public ActionResult Create(int instID) {
return View();
}
}
Khi tôi đăng nhập như người dùng Stefan.coordinator
trong đó có vai trò coordinator
, tôi thể truy cập bộ điều khiển, nhưng tôi không thể truy cập vào Create Hoạt động. Tôi nghĩ đây sẽ là mối quan hệ OR giữa Users
và Roles
. Không phải nó? và làm cách nào để làm việc này?
Có lẽ tôi không tuân theo logic của bạn, tại sao '((USER trong {Stefan.coordinator})' bị loại bỏ? –
@Nathan - Tôi đã đăng một làm rõ. Vui lòng cho tôi biết nếu điều này trả lời câu hỏi của bạn! – Levi
đó Có vẻ như là ((USER trong {Stefan.coordinator}) ** AND ** (ROLE trong {Algemeen Beheer, Admin})) [từ cấp độ phương pháp] vì không người dùng nào khác có thể truy cập Hành động khi có thẻ người dùng này – Stefanvds