ASP.NET - 缓存用户权限

时间:2011-01-28 12:32:48

标签: asp.net

对不起我的英语。

在我的ASP.NET MVC应用程序中,我有由ASP.NET成员资格和用户组控制的用户,这些用户组通过我的业务逻辑存储在数据库中。此外,我实现了ACL(访问控制列表)架构来控制用户对我的应用程序中的实体的访问,因此我有许多结构User-Object-Privilegy-Value的记录(存储在DB表中)。

为了确保用户可以访问某个实体(或对象),我需要重新创建用户所在的所有组的层次结构,并找到该主题的所有权限。

出于优化的目的,我需要在应用程序缓存中缓存该信息,但我还需要监视是否有任何用户,用户组或权限更改为使缓存的记录无效。

我可以通过某种方式实现它,但我想知道更好的方法。

有没有人有相同的经验?缓存用户权限的最佳解决方案是什么?

1 个答案:

答案 0 :(得分:0)

有内置的缓存工具,但没有一个可以缓存和使特定的自定义结构无效,并且具有足够的知识来处理自动描述的层次结构。你必须自己写。

但是,您仍然可以使用内置的CacheDependency系统作为底层框架。您必须自己扩展课程并订阅各种更改通知程序。

相关问题