Sitecore项目 - 以编程方式测试匿名用户是否具有权限

时间:2016-10-25 09:51:17

标签: c# sitecore sitecore8 user-permissions

我试图测试匿名用户是否可以查看项目:

var anon = User.FromName("domain\\Anonymous");

if (item.Security.CanRead(anonymousUser))
    return true;

但它总是返回true,即使我知道对于特定项目,它们必须具有一定的角色来查看它,正如我从访问查看器中看到的那样:

enter image description here

1 个答案:

答案 0 :(得分:1)

负责的抓取工具 - 它实际上执行ComputeFieldValue代码 - 的设计方式是将此代码包装在 SecurityDisabler 中。这就是为什么在计算字段内无法验证是否可以访问该字段的原因。

Sitecore确实建议在搜索期间进行安全检查(ootb),但实际上TotalResults不匹配 - 这很糟糕;)

如果您尝试在索引中获得安全性 - 首先尝试找到一个解决方案,以保持项目安全性的更新。例如。如果你在某个地方破坏继承,你的索引将如何知道要更新的项目? ......