Sitecore Items - 以编程方式测试匿名用户是否具有权限
Sitecore Items - Programmatically test if anonymous user has permission
我正在尝试测试项目是否可以被匿名用户查看:
var anon = User.FromName("domain\Anonymous");
if (item.Security.CanRead(anonymousUser))
return true;
但它总是 returns 正确,即使我知道对于特定项目,他们必须具有特定角色才能查看它,正如我从访问查看器中看到的那样:
负责的爬虫 - 实际上执行 ComputeFieldValue 代码 - 被设计为将此代码包装在 SecurityDisabler 中。这就是为什么无法在计算字段内验证是否可以访问该字段。
Sitecore 确实建议在搜索 (ootb) 期间进行安全检查,但如果您这样做,TotalResults 确实不匹配 - 这很糟糕 ;)
如果您想在索引中获得安全性 - 首先尝试找到一个解决方案来保持项目安全性更新。例如。如果你想在某处打破继承,你的索引怎么知道要更新哪些项目? ...
我正在尝试测试项目是否可以被匿名用户查看:
var anon = User.FromName("domain\Anonymous");
if (item.Security.CanRead(anonymousUser))
return true;
但它总是 returns 正确,即使我知道对于特定项目,他们必须具有特定角色才能查看它,正如我从访问查看器中看到的那样:
负责的爬虫 - 实际上执行 ComputeFieldValue 代码 - 被设计为将此代码包装在 SecurityDisabler 中。这就是为什么无法在计算字段内验证是否可以访问该字段。
Sitecore 确实建议在搜索 (ootb) 期间进行安全检查,但如果您这样做,TotalResults 确实不匹配 - 这很糟糕 ;)
如果您想在索引中获得安全性 - 首先尝试找到一个解决方案来保持项目安全性更新。例如。如果你想在某处打破继承,你的索引怎么知道要更新哪些项目? ...