为了简单起见,我的站点有两个控制器,UsersController和VenuesController,这两个控制器都有自己的相关“管理员权限”。
因此,用户可以拥有" users“管理员权限和/或”Venue“管理员权限(这些是my db中users表中的布尔域)。
用户登录,我在会话中拥有他/她的权限。
我想用一个自定义属性来装饰我的控制器,以检查用户是否具有使用控制器的正确权限。我不想创建一个UserPermissionAttribute和一个VenuePermissionAttribute,理想情况下我想要一个单一的属性,它接受一个bool属性并检查它是否为真,比如;
[CheckPermissionAttribute(_userSession.AdminPermissions.Users)]
public class UsersController : Controller
{
}和
[CheckPermissionAttribute(_userSession.AdminPermissions.Venues)]
public class VenuesController : Controller
{
}这是否可能实现,或者我是否应该考虑使用PostSharp或其他工具来实现相同的结果?
发布于 2012-10-12 06:18:28
您可以使用参数创建属性。操作筛选器参数是操作筛选器的属性。
但最好是使用AuthorizeAttribute创建用户、角色和用户的标准方法
https://stackoverflow.com/questions/12849239
复制相似问题