Sitecore 访问查看器与实际行为不符
Sitecore access viewer does not match actual behavior
在安全编辑器中,我明确拒绝了用户对项目的读取权限。在访问查看器中,我能够验证该用户和该项目的读取权限被拒绝。
作为该用户,当我在浏览器中打开该项目的页面时,我可以看到所有内容。我希望得到 404,但我只能看到页面。
我通过在我的布局页面中放置一些临时调试信息来验证它绝对是同一个用户和同一个项目:
用户是 @(Sitecore.Context.GetUserName())
- 项目是 @(Sitecore.Context.Item.ID)
- 可以阅读:@(Sitecore.Context.Item.Security.CanRead(Sitecore.Context.User))
这告诉我用户确实拥有该项目的读取权限,即使这些权限已被拒绝的安全编辑器和访问查看器。
什么可能导致我在 Access Viewer 中看到的内容与我从 Sitecore.Context.Item.Security.CanRead
中获得的内容不同?
(Yes, I also recycled my app pool several times to make sure that no
kind of caching is applied.)
访问权限信息存储在项目本身。
确保您发布了页面。
请记住,您可以将数据库从 Sitecore Desktop 切换到 web
,启动 Access Viewer 并在其中查看 web
数据库的访问权限信息。
在安全编辑器中,我明确拒绝了用户对项目的读取权限。在访问查看器中,我能够验证该用户和该项目的读取权限被拒绝。
作为该用户,当我在浏览器中打开该项目的页面时,我可以看到所有内容。我希望得到 404,但我只能看到页面。
我通过在我的布局页面中放置一些临时调试信息来验证它绝对是同一个用户和同一个项目:
用户是 @(Sitecore.Context.GetUserName())
- 项目是 @(Sitecore.Context.Item.ID)
- 可以阅读:@(Sitecore.Context.Item.Security.CanRead(Sitecore.Context.User))
这告诉我用户确实拥有该项目的读取权限,即使这些权限已被拒绝的安全编辑器和访问查看器。
什么可能导致我在 Access Viewer 中看到的内容与我从 Sitecore.Context.Item.Security.CanRead
中获得的内容不同?
(Yes, I also recycled my app pool several times to make sure that no kind of caching is applied.)
访问权限信息存储在项目本身。
确保您发布了页面。
请记住,您可以将数据库从 Sitecore Desktop 切换到 web
,启动 Access Viewer 并在其中查看 web
数据库的访问权限信息。