在安全编辑器中,我明确拒绝了用户对项目的读取权限。在Access Viewer中,我能够验证该用户的读取权限,并拒绝此项目。
作为此用户,当我在浏览器中打开项目页面时,我可以看到所有内容。我希望 404 ,但我可以看到该页面。
我通过在布局页面中放置一些临时调试信息来验证它确实是相同的用户和相同的项目:
用户为@(Sitecore.Context.GetUserName())
- 项目为@(Sitecore.Context.Item.ID)
- 可以阅读:@(Sitecore.Context.Item.Security.CanRead(Sitecore.Context.User))
这告诉我用户确实拥有此项的读取权限,即使安全编辑器和Access Viewer都已拒绝这些权限。
什么可能导致我在Access Viewer中看到的内容与我从Sitecore.Context.Item.Security.CanRead
获得的内容之间的差异?
(是的,我也多次回收我的应用程序池,以确保没有 应用了一种缓存。)
答案 0 :(得分:1)
访问权限信息存储在项目本身上。
确保您已发布该页面。
请记住,您可以将数据库从Sitecore Desktop切换到web
,启动Access Viewer并查看web
数据库的访问权限信息。