Có, nó được gọi là Lập trình hướng theo khía cạnh và PostSharp có lẽ là công cụ tốt nhất cho công việc (tiếc là nó không miễn phí).
Tuy nhiên, nếu bạn đang sử dụng MVC (bạn chưa đề cập đến bất cứ điều gì như vậy), bạn có thể lấy phiên bản AuthorizeAttribute để truy vấn các bảng quyền của riêng bạn và bạn có thể chỉ cần trang trí các hành động của mình với các vai trò bạn muốn cho phép, ví dụ:
[Authorize(Roles="Customer, Company")]
public ActionResult ViewOrders(...)
{
...
}
[Authorize(Roles="Customer")]
public ActionResult CreateOrder(...)
{
...
}