我正在阅读一本关于 MVC2 的书,在 OutputCache 部分中它指出:
警告 在前面的“授权过滤器如何与输出缓存交互”部分中,我解释说 [Authorize] 具有特殊行为,可确保未经授权的访问者无法仅因为敏感信息已被缓存而获得敏感信息。但是,除非您特别阻止它,否则缓存的输出仍有可能传递给与最初生成该输出的授权用户不同的授权用户。防止这种情况的一种方法是将特定内容项的访问控制实现为授权过滤器(从 AuthorizeAttribute 派生),而不是简单地在操作方法中内联实施授权逻辑,因为 AuthorizeAttribute 知道如何避免被输出缓存绕过。仔细测试以确保授权和输出缓存以您期望的方式交互。
这在 MVC3 中仍然成立吗?
如果是肯定的,有什么方法可以防止这种情况发生?(因为书上的解释太模糊了)。
问候。