Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Sitecore项目-以编程方式测试匿名用户是否具有权限_C#_Sitecore_Sitecore8_User Permissions - Fatal编程技术网

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

C# Sitecore项目-以编程方式测试匿名用户是否具有权限,c#,sitecore,sitecore8,user-permissions,C#,Sitecore,Sitecore8,User Permissions,我正在尝试测试匿名用户是否可以查看项目: var anon = User.FromName("domain\\Anonymous"); if (item.Security.CanRead(anonymousUser)) return true; 但它总是返回true,即使我知道对于特定项目,它们必须具有特定的角色才能查看它,正如我从access viewer中看到的: 负责的爬虫程序(实际执行ComputeFieldValue代码)的设计方式是将此代码包装在一个安全禁用程序中。这就是

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

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

if (item.Security.CanRead(anonymousUser))
    return true;
但它总是返回true,即使我知道对于特定项目,它们必须具有特定的角色才能查看它,正如我从access viewer中看到的:


负责的爬虫程序(实际执行ComputeFieldValue代码)的设计方式是将此代码包装在一个安全禁用程序中。这就是为什么在计算字段内无法验证是否有权访问该字段的原因

Sitecore确实建议在搜索过程中进行安全检查(ootb),但如果这样做,总体结果确实不匹配-这太糟糕了;)


如果您想在索引中获得安全性,请首先尝试找到保持项目安全性更新的解决方案。例如,如果您要在某个地方中断继承,您的索引如何知道要更新哪些项

项目应在何处可见?项目是否为要在浏览器中查看的页面?还是内容树中的项目?sitecore 8的哪个版本?这是一个需要查看的页面。这是Sitecore 81 rev 160302,只是为了添加上下文,此代码位于索引的计算字段中。我只需要得到用户有权限的结果。我知道Sitecore有一个
SearchSecurityOptions.EnableSecurityCheck
机制,但老实说,这有点开玩笑,因为它不尊重
TotalSearchResults
属性并破坏分页。谢谢-这很有意义。我想我已经找到了一种通过索引项目的访问规则来获取所需内容的方法。嘿@DavidMasters,我知道你已经有一段时间没有遇到这个问题了,但是我想知道你是否可以发布一些关于如何索引项目访问规则的提示