伙计们,我已经阅读了很多关于这件事的帖子,但我还看不到这里的光芒。
在控制器中请求执行/执行或在视图中显示某些内容的权限非常容易,但在模型中执行此操作更复杂,至少是发生在我身上的事情。在控制器中,因为您可以轻松访问会话对象:HttpContext.Current.Session["UserPermissions"] 并且从视图中我可以有一个 sessionmanager 并像这样访问:SessionManager.IsAllowed(Permission.SuperUser) 这也是在控制器中构建。但是我们如何在模型和连接到数据库的业务层中轻松做到这一点呢?
这是我的例子-
当我需要从数据库中获取一些信息并基于用户权限时,我不想用我知道用户无权访问的数据填充对象。
解析视图中的对象并仅显示允许用户查看的项目很容易,但在将它们带到视图之前过滤这些项目不是更好吗?
有人可以向我展示一个示例,其中我实现了一个权限类以在我的所有模型中使用它吗?
谢谢!