需要一些关于我自己的基于角色的访问控制(RBAC)的建议

我有一个非常简单的个人资料页面,用户可以上传图像和视频。我已经实现了自己的角色系统,而且我没有使用.NET(我想学习和构建自己的)。我最多只有10'000个用户,同时使用它的大约50-100个用户。 我在DB中有三个表来处理我的RBAC: 角色:管理员,用户,经理,访客 权限:SendEmail,AdvancedSearch,RemoveUser ...等。 授权:在此表中,我将角色映射到权限。每次操作需要权限时,我都会检查一下。如果权限< - >角色在表中,则返回true并授权操作。 所以,这里有一些关于这种情况的问题。 这是一种轻量级的检查方式 授权?通过查询数据库 每个页面加载并操作用户 让。 我应该将它保存在XML文件中吗? 结果更快? 是否有更好的结构 RBAC? 提前致谢!     
已邀请:
对于50-100个用户,我只会在应用程序中缓存每个活动用户的内容。除了过期时,这可以避免数据删除带来的任何小开销。因此,只需要一些可以廉价缓存的小对象,但其中包含运行应用程序核心功能所需的所有用户信息。 没有什么可以阻止你使用它来实现一个
IPrincipal
来使用内置的
[PrincipalPermission(...)]
的东西,但是你自己也可以这样做。     
以下是您的问题的答案。 •这是一种轻量级的检查授权方式吗?通过在用户进行的每个页面加载和操作上查询数据库。 答。我将在数据库上应用可配置的缓存系统层,并使用此缓存系统进行具有可自定义的到期时间的授权。 •我是否应该将其保存在XML文件中以获得更快的结果? 答。我不喜欢xml文件,而是使用序列化。 •这种RBAC有更好的结构吗? 答。就DB和RBAC的结构而言,它应该是足够安全的,应用程序的访问控制或权限不能直接来自DB。     

要回复问题请先登录注册