代码之家  ›  专栏  ›  技术社区  ›  Yan Sklyarenko

我应该删除一个我没有放在那里的缓存条目吗?

  •  1
  • Yan Sklyarenko  · 技术社区  · 14 年前

    前提条件

    问题 :假设AD user1是AD role1的成员。当web应用程序启动时,它会缓存此关系。现在,如果AD管理员使用AD控制台从role1中删除user1,应用程序将不知道此更改—缓存条目将保留。这将成为一个安全漏洞,因为role1可能拥有user1不应再拥有的权限。

    如何解决这个问题有两种相反的观点:

    1. “侦听”AD更改并在AD服务器上检测到操作后触发缓存项删除-因为我们负责正确的AD组件功能
    2. 保持缓存不变-因为我们没有把条目放在那里,也不应该删除它

    谢谢您!

    1 回复  |  直到 14 年前
        1
  •  1
  •   to StackOverflow    14 年前

    我认为应该由使用缓存机制的组件的实现者负责。

    在许多情况下,在传播更改的权限时的一些延迟可能是可以接受的。

    如果这样的延迟是不可接受的,那么缓存可能无论如何都不合适。