为了简单起见,我的站点有两个控制器,UsersController 和 VenuesController,它们都有自己关联的“管理员权限”。
所以用户可以拥有“用户”管理员权限和/或“场地”管理员权限(这些是我数据库中用户表上的布尔字段)
用户登录,我在会话中拥有他/她的权限。
我想用自定义属性装饰我的控制器,以检查用户是否具有使用控制器的正确权限。我不想创建一个 UserPermissionAttribute 和一个 VenuePermissionAttribute,理想情况下我想要一个属性,它接受一个 bool 属性并检查它是否为真,所以类似于;
[CheckPermissionAttribute(_userSession.AdminPermissions.Users)]
public class UsersController : Controller
{
}
和
[CheckPermissionAttribute(_userSession.AdminPermissions.Venues)]
public class VenuesController : Controller
{
}
这是可能实现的,还是我应该看 PostSharp 或其他东西来达到相同的结果?