Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.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
Xpages 使用readers字段时从分类视图的第一列返回_Xpages_Repeater_Lotus Notes - Fatal编程技术网

Xpages 使用readers字段时从分类视图的第一列返回

Xpages 使用readers字段时从分类视图的第一列返回,xpages,repeater,lotus-notes,Xpages,Repeater,Lotus Notes,我有一个文档的Notes分类视图。其中一些文档有一个Reader字段集。我正在一系列嵌套的重复控件中构建这些文档的“视图”。第一次重复绑定到一个名为vsCat1的viewScope变量,我通过打开视图和返回分类数据列表的getColumnValue(0)在AfterPageLoad事件中设置vsCat1。问题是列表中有一个特定用户无权访问的类别。因此,在显示文档信息的repeat控件中不会显示任何内容,这是正确的。现在,我可以遍历所有文档,以确定此人是否确实可以阅读这些文档,但这将增加比我想要添

我有一个文档的Notes分类视图。其中一些文档有一个Reader字段集。我正在一系列嵌套的重复控件中构建这些文档的“视图”。第一次重复绑定到一个名为vsCat1的viewScope变量,我通过打开视图和返回分类数据列表的getColumnValue(0)在AfterPageLoad事件中设置vsCat1。问题是列表中有一个特定用户无权访问的类别。因此,在显示文档信息的repeat控件中不会显示任何内容,这是正确的。现在,我可以遍历所有文档,以确定此人是否确实可以阅读这些文档,但这将增加比我想要添加的更多的开销。我会满足于显示类似“*访问受限*”或?? 在显示数据的重复过程中,我尝试检查veData==null,但它从未到达那里。 结果不是致命的,如果类别中有一个或多个不受限制的文档,用户将永远不会知道。但是,如果该类别中的所有文档都受到限制,用户会看到该类别,但却什么也做不了,而且看起来很奇怪。另外,根据类别结构,它可能会产生会泄露敏感信息的信息。假设类别为“购买XYZ公司”,则可能会非常糟糕。
这是一个比XPages更广泛的问题,但其他人如何处理这类问题?

您是否在“样式”选项卡的“视图”属性中选中了“不显示空类别”


看看这个:

如果我切换到Test User1并打开有问题的视图,将显示4个正确的文档,并且这些类别只有Test User1可以读取。在显示repeat的控件中,我打开视图和getColumnValues(0),它返回视图中的所有类别,而不仅仅是Test User1具有读卡器访问权限的类别。我在SSJS中使用getColumnValues,所以我猜它没有正确使用当前用户。读者权限似乎只有在我们真正尝试阅读文档时才被强制执行。我不想循环浏览所有文档,这会带来太多的开销。也许您可以尝试使用viewNavigator而不是GetColumnValues来获取所有类别,比如:“code”var lstCat:java.util.HashMap=new java.util.HashMap();var nav:NotesViewNavigator=database.getView(“按类别”).createViewNav();var条目:NotesViewEntry=nav.getFirst();while(entry!=null&&!entry.isTotal()){lstCat.put(entry.getColumnValues().firstElement().toString(),entry.getChildCount().toFixed();var tmpentry:NotesViewEntry=nav.getNextSibling(entry);entry.recycle();entry=tmpentry;}“代码”对我的工作方式做了一些修改,使用NotesViewNavigator会根据Readers字段返回类别。谢谢