Xpages ViewPanel - 无权执行搜索
Xpages ViewPanel - Not authorized to perform search
我在 xpages ViewPanel 中搜索时遇到问题。我有以下 ViewPanel
<xp:viewPanel rows="7" id="viewPanel1">
<xp:this.data>
<xp:dominoView var="view1"
databaseName="myServer!!myDbPath"
viewName="suppliers" search="*my_keyword*">
</xp:dominoView>
</xp:this.data>
<xp:viewColumn columnName="Name"
id="viewColumn1">
<xp:viewColumnHeader value="Name" id="viewColumnHeader1">
</xp:viewColumnHeader>
</xp:viewColumn>
</xp:viewPanel>
视图面板显示来自另一台服务器的文档。有一个非常简单的 FTSearch(我什至在这里关闭了动态搜索以进行测试)。我收到一个错误:
NotesException: Notes error: You are not authorized to perform that operation
lotus.domino.local.View.NFTSearchSorted(Native Method)
lotus.domino.local.View.FTSearchSorted(Unknown Source)
如果我关闭搜索,我会在面板中看到文档(因此它确认我拥有对数据库和文档的 ACL 访问权限)。当我打开搜索时,情况会发生变化。
我做错了什么?
这是完整的堆栈。
com.ibm.xsp.FacesExceptionEx: Notes error: You are not authorized to perform that operation
com.ibm.xsp.model.domino.viewnavigator.AbstractViewCollectionNavigator.readEntries(AbstractViewCollectionNavigator.java:101)
com.ibm.xsp.model.domino.wrapped.DominoViewEntryArray.readEntries(DominoViewEntryArray.java:104)
com.ibm.xsp.model.domino.DominoViewDataContainer.readViewEntries(DominoViewDataContainer.java:548)
com.ibm.xsp.model.domino.DominoViewDataContainer.getRowCount(DominoViewDataContainer.java:527)
com.ibm.xsp.model.domino.DominoViewDataModel.getRowCount(DominoViewDataModel.java:109)
com.ibm.xsp.model.TabularDataModel.isRowAvailable(TabularDataModel.java:96)
javax.faces.component.UIData.isRowAvailable(UIData.java:300)
javax.faces.component.UIData.setRowIndex(UIData.java:445)
com.ibm.xsp.component.UIDataEx.setRowIndex(UIDataEx.java:403)
com.ibm.xsp.renderkit.html_extended.DataTableRendererEx.encodeTabularDataModelRows(DataTableRendererEx.java:1433)
com.ibm.xsp.renderkit.html_extended.DataTableRendererEx.encodeTabularDataModelChildren(DataTableRendererEx.java:1416)
com.ibm.xsp.renderkit.html_extended.DataTableRendererEx.encodeChildren(DataTableRendererEx.java:1388)
com.ibm.xsp.renderkit.ReadOnlyAdapterRenderer.encodeChildren(ReadOnlyAdapterRenderer.java:162)
com.ibm.xsp.renderkit.html_extended.ViewPanelRenderer.encodeBegin(ViewPanelRenderer.java:412)
com.ibm.xsp.renderkit.ReadOnlyAdapterRenderer.encodeBegin(ReadOnlyAdapterRenderer.java:146)
javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:956)
javax.faces.component.UIData.encodeBegin(UIData.java:788)
com.ibm.xsp.component.UIDataEx.encodeBegin(UIDataEx.java:425)
com.ibm.xsp.component.UIViewPanel.encodeBegin(UIViewPanel.java:288)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:841)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:852)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:852)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:852)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:852)
com.ibm.xsp.component.UIViewRootEx._renderView(UIViewRootEx.java:1317)
com.ibm.xsp.component.UIViewRootEx.renderView(UIViewRootEx.java:1255)
com.ibm.xsp.application.ViewHandlerExImpl.doRender(ViewHandlerExImpl.java:651)
com.ibm.xsp.application.ViewHandlerExImpl._renderView(ViewHandlerExImpl.java:321)
com.ibm.xsp.application.ViewHandlerExImpl.renderView(ViewHandlerExImpl.java:336)
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:103)
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:210)
com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:120)
com.ibm.xsp.controller.FacesControllerImpl.render(FacesControllerImpl.java:270)
com.ibm.xsp.webapp.FacesServlet.serviceView(FacesServlet.java:261)
com.ibm.xsp.webapp.FacesServletEx.serviceView(FacesServletEx.java:157)
com.ibm.xsp.webapp.FacesServlet.service(FacesServlet.java:160)
com.ibm.xsp.webapp.FacesServletEx.service(FacesServletEx.java:138)
com.ibm.xsp.webapp.DesignerFacesServlet.service(DesignerFacesServlet.java:103)
com.ibm.designer.runtime.domino.adapter.ComponentModule.invokeServlet(ComponentModule.java:576)
com.ibm.domino.xsp.module.nsf.NSFComponentModule.invokeServlet(NSFComponentModule.java:1335)
com.ibm.designer.runtime.domino.adapter.ComponentModule$AdapterInvoker.invokeServlet(ComponentModule.java:853)
com.ibm.designer.runtime.domino.adapter.ComponentModule$ServletInvoker.doService(ComponentModule.java:796)
com.ibm.designer.runtime.domino.adapter.ComponentModule.doService(ComponentModule.java:565)
com.ibm.domino.xsp.module.nsf.NSFComponentModule.doService(NSFComponentModule.java:1319)
com.ibm.domino.xsp.module.nsf.NSFService.doServiceInternal(NSFService.java:662)
com.ibm.domino.xsp.module.nsf.NSFService.doService(NSFService.java:482)
com.ibm.designer.runtime.domino.adapter.LCDEnvironment.doService(LCDEnvironment.java:357)
com.ibm.designer.runtime.domino.adapter.LCDEnvironment.service(LCDEnvironment.java:313)
com.ibm.domino.xsp.bridge.http.engine.XspCmdManager.service(XspCmdManager.java:272)
NotesException: Notes error: You are not authorized to perform that operation
lotus.domino.local.View.NFTSearchSorted(Native Method)
lotus.domino.local.View.FTSearchSorted(Unknown Source)
com.ibm.xsp.model.domino.viewnavigator.FTViewNavigatorEx.createCollection(FTViewNavigatorEx.java:74)
com.ibm.xsp.model.domino.viewnavigator.AbstractViewCollectionNavigator.readEntries(AbstractViewCollectionNavigator.java:76)
com.ibm.xsp.model.domino.wrapped.DominoViewEntryArray.readEntries(DominoViewEntryArray.java:104)
com.ibm.xsp.model.domino.DominoViewDataContainer.readViewEntries(DominoViewDataContainer.java:548)
com.ibm.xsp.model.domino.DominoViewDataContainer.getRowCount(DominoViewDataContainer.java:527)
com.ibm.xsp.model.domino.DominoViewDataModel.getRowCount(DominoViewDataModel.java:109)
com.ibm.xsp.model.TabularDataModel.isRowAvailable(TabularDataModel.java:96)
javax.faces.component.UIData.isRowAvailable(UIData.java:300)
javax.faces.component.UIData.setRowIndex(UIData.java:445)
com.ibm.xsp.component.UIDataEx.setRowIndex(UIDataEx.java:403)
com.ibm.xsp.renderkit.html_extended.DataTableRendererEx.encodeTabularDataModelRows(DataTableRendererEx.java:1433)
com.ibm.xsp.renderkit.html_extended.DataTableRendererEx.encodeTabularDataModelChildren(DataTableRendererEx.java:1416)
com.ibm.xsp.renderkit.html_extended.DataTableRendererEx.encodeChildren(DataTableRendererEx.java:1388)
com.ibm.xsp.renderkit.ReadOnlyAdapterRenderer.encodeChildren(ReadOnlyAdapterRenderer.java:162)
com.ibm.xsp.renderkit.html_extended.ViewPanelRenderer.encodeBegin(ViewPanelRenderer.java:412)
com.ibm.xsp.renderkit.ReadOnlyAdapterRenderer.encodeBegin(ReadOnlyAdapterRenderer.java:146)
javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:956)
javax.faces.component.UIData.encodeBegin(UIData.java:788)
com.ibm.xsp.component.UIDataEx.encodeBegin(UIDataEx.java:425)
com.ibm.xsp.component.UIViewPanel.encodeBegin(UIViewPanel.java:288)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:841)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:852)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:852)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:852)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:852)
com.ibm.xsp.component.UIViewRootEx._renderView(UIViewRootEx.java:1317)
com.ibm.xsp.component.UIViewRootEx.renderView(UIViewRootEx.java:1255)
com.ibm.xsp.application.ViewHandlerExImpl.doRender(ViewHandlerExImpl.java:651)
com.ibm.xsp.application.ViewHandlerExImpl._renderView(ViewHandlerExImpl.java:321)
com.ibm.xsp.application.ViewHandlerExImpl.renderView(ViewHandlerExImpl.java:336)
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:103)
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:210)
com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:120)
com.ibm.xsp.controller.FacesControllerImpl.render(FacesControllerImpl.java:270)
com.ibm.xsp.webapp.FacesServlet.serviceView(FacesServlet.java:261)
com.ibm.xsp.webapp.FacesServletEx.serviceView(FacesServletEx.java:157)
com.ibm.xsp.webapp.FacesServlet.service(FacesServlet.java:160)
com.ibm.xsp.webapp.FacesServletEx.service(FacesServletEx.java:138)
com.ibm.xsp.webapp.DesignerFacesServlet.service(DesignerFacesServlet.java:103)
com.ibm.designer.runtime.domino.adapter.ComponentModule.invokeServlet(ComponentModule.java:576)
com.ibm.domino.xsp.module.nsf.NSFComponentModule.invokeServlet(NSFComponentModule.java:1335)
com.ibm.designer.runtime.domino.adapter.ComponentModule$AdapterInvoker.invokeServlet(ComponentModule.java:853)
com.ibm.designer.runtime.domino.adapter.ComponentModule$ServletInvoker.doService(ComponentModule.java:796)
com.ibm.designer.runtime.domino.adapter.ComponentModule.doService(ComponentModule.java:565)
com.ibm.domino.xsp.module.nsf.NSFComponentModule.doService(NSFComponentModule.java:1319)
com.ibm.domino.xsp.module.nsf.NSFService.doServiceInternal(NSFService.java:662)
com.ibm.domino.xsp.module.nsf.NSFService.doService(NSFService.java:482)
com.ibm.designer.runtime.domino.adapter.LCDEnvironment.doService(LCDEnvironment.java:357)
com.ibm.designer.runtime.domino.adapter.LCDEnvironment.service(LCDEnvironment.java:313)
com.ibm.domino.xsp.bridge.http.engine.XspCmdManager.service(XspCmdManager.java:272)
ACL 是问题所在。似乎文档显示是在用户权限下进行的,但搜索是在服务器权限下进行的(因此我可以显示视图面板但不允许在其中进行搜索)。
我已经更正了 ACL,因此服务器具有管理员权限(LocalDomainServers 设置为服务器组,而不是仅服务器)。
感谢您的帮助!
我在 xpages ViewPanel 中搜索时遇到问题。我有以下 ViewPanel
<xp:viewPanel rows="7" id="viewPanel1">
<xp:this.data>
<xp:dominoView var="view1"
databaseName="myServer!!myDbPath"
viewName="suppliers" search="*my_keyword*">
</xp:dominoView>
</xp:this.data>
<xp:viewColumn columnName="Name"
id="viewColumn1">
<xp:viewColumnHeader value="Name" id="viewColumnHeader1">
</xp:viewColumnHeader>
</xp:viewColumn>
</xp:viewPanel>
视图面板显示来自另一台服务器的文档。有一个非常简单的 FTSearch(我什至在这里关闭了动态搜索以进行测试)。我收到一个错误:
NotesException: Notes error: You are not authorized to perform that operation
lotus.domino.local.View.NFTSearchSorted(Native Method)
lotus.domino.local.View.FTSearchSorted(Unknown Source)
如果我关闭搜索,我会在面板中看到文档(因此它确认我拥有对数据库和文档的 ACL 访问权限)。当我打开搜索时,情况会发生变化。 我做错了什么?
这是完整的堆栈。
com.ibm.xsp.FacesExceptionEx: Notes error: You are not authorized to perform that operation
com.ibm.xsp.model.domino.viewnavigator.AbstractViewCollectionNavigator.readEntries(AbstractViewCollectionNavigator.java:101)
com.ibm.xsp.model.domino.wrapped.DominoViewEntryArray.readEntries(DominoViewEntryArray.java:104)
com.ibm.xsp.model.domino.DominoViewDataContainer.readViewEntries(DominoViewDataContainer.java:548)
com.ibm.xsp.model.domino.DominoViewDataContainer.getRowCount(DominoViewDataContainer.java:527)
com.ibm.xsp.model.domino.DominoViewDataModel.getRowCount(DominoViewDataModel.java:109)
com.ibm.xsp.model.TabularDataModel.isRowAvailable(TabularDataModel.java:96)
javax.faces.component.UIData.isRowAvailable(UIData.java:300)
javax.faces.component.UIData.setRowIndex(UIData.java:445)
com.ibm.xsp.component.UIDataEx.setRowIndex(UIDataEx.java:403)
com.ibm.xsp.renderkit.html_extended.DataTableRendererEx.encodeTabularDataModelRows(DataTableRendererEx.java:1433)
com.ibm.xsp.renderkit.html_extended.DataTableRendererEx.encodeTabularDataModelChildren(DataTableRendererEx.java:1416)
com.ibm.xsp.renderkit.html_extended.DataTableRendererEx.encodeChildren(DataTableRendererEx.java:1388)
com.ibm.xsp.renderkit.ReadOnlyAdapterRenderer.encodeChildren(ReadOnlyAdapterRenderer.java:162)
com.ibm.xsp.renderkit.html_extended.ViewPanelRenderer.encodeBegin(ViewPanelRenderer.java:412)
com.ibm.xsp.renderkit.ReadOnlyAdapterRenderer.encodeBegin(ReadOnlyAdapterRenderer.java:146)
javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:956)
javax.faces.component.UIData.encodeBegin(UIData.java:788)
com.ibm.xsp.component.UIDataEx.encodeBegin(UIDataEx.java:425)
com.ibm.xsp.component.UIViewPanel.encodeBegin(UIViewPanel.java:288)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:841)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:852)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:852)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:852)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:852)
com.ibm.xsp.component.UIViewRootEx._renderView(UIViewRootEx.java:1317)
com.ibm.xsp.component.UIViewRootEx.renderView(UIViewRootEx.java:1255)
com.ibm.xsp.application.ViewHandlerExImpl.doRender(ViewHandlerExImpl.java:651)
com.ibm.xsp.application.ViewHandlerExImpl._renderView(ViewHandlerExImpl.java:321)
com.ibm.xsp.application.ViewHandlerExImpl.renderView(ViewHandlerExImpl.java:336)
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:103)
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:210)
com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:120)
com.ibm.xsp.controller.FacesControllerImpl.render(FacesControllerImpl.java:270)
com.ibm.xsp.webapp.FacesServlet.serviceView(FacesServlet.java:261)
com.ibm.xsp.webapp.FacesServletEx.serviceView(FacesServletEx.java:157)
com.ibm.xsp.webapp.FacesServlet.service(FacesServlet.java:160)
com.ibm.xsp.webapp.FacesServletEx.service(FacesServletEx.java:138)
com.ibm.xsp.webapp.DesignerFacesServlet.service(DesignerFacesServlet.java:103)
com.ibm.designer.runtime.domino.adapter.ComponentModule.invokeServlet(ComponentModule.java:576)
com.ibm.domino.xsp.module.nsf.NSFComponentModule.invokeServlet(NSFComponentModule.java:1335)
com.ibm.designer.runtime.domino.adapter.ComponentModule$AdapterInvoker.invokeServlet(ComponentModule.java:853)
com.ibm.designer.runtime.domino.adapter.ComponentModule$ServletInvoker.doService(ComponentModule.java:796)
com.ibm.designer.runtime.domino.adapter.ComponentModule.doService(ComponentModule.java:565)
com.ibm.domino.xsp.module.nsf.NSFComponentModule.doService(NSFComponentModule.java:1319)
com.ibm.domino.xsp.module.nsf.NSFService.doServiceInternal(NSFService.java:662)
com.ibm.domino.xsp.module.nsf.NSFService.doService(NSFService.java:482)
com.ibm.designer.runtime.domino.adapter.LCDEnvironment.doService(LCDEnvironment.java:357)
com.ibm.designer.runtime.domino.adapter.LCDEnvironment.service(LCDEnvironment.java:313)
com.ibm.domino.xsp.bridge.http.engine.XspCmdManager.service(XspCmdManager.java:272)
NotesException: Notes error: You are not authorized to perform that operation
lotus.domino.local.View.NFTSearchSorted(Native Method)
lotus.domino.local.View.FTSearchSorted(Unknown Source)
com.ibm.xsp.model.domino.viewnavigator.FTViewNavigatorEx.createCollection(FTViewNavigatorEx.java:74)
com.ibm.xsp.model.domino.viewnavigator.AbstractViewCollectionNavigator.readEntries(AbstractViewCollectionNavigator.java:76)
com.ibm.xsp.model.domino.wrapped.DominoViewEntryArray.readEntries(DominoViewEntryArray.java:104)
com.ibm.xsp.model.domino.DominoViewDataContainer.readViewEntries(DominoViewDataContainer.java:548)
com.ibm.xsp.model.domino.DominoViewDataContainer.getRowCount(DominoViewDataContainer.java:527)
com.ibm.xsp.model.domino.DominoViewDataModel.getRowCount(DominoViewDataModel.java:109)
com.ibm.xsp.model.TabularDataModel.isRowAvailable(TabularDataModel.java:96)
javax.faces.component.UIData.isRowAvailable(UIData.java:300)
javax.faces.component.UIData.setRowIndex(UIData.java:445)
com.ibm.xsp.component.UIDataEx.setRowIndex(UIDataEx.java:403)
com.ibm.xsp.renderkit.html_extended.DataTableRendererEx.encodeTabularDataModelRows(DataTableRendererEx.java:1433)
com.ibm.xsp.renderkit.html_extended.DataTableRendererEx.encodeTabularDataModelChildren(DataTableRendererEx.java:1416)
com.ibm.xsp.renderkit.html_extended.DataTableRendererEx.encodeChildren(DataTableRendererEx.java:1388)
com.ibm.xsp.renderkit.ReadOnlyAdapterRenderer.encodeChildren(ReadOnlyAdapterRenderer.java:162)
com.ibm.xsp.renderkit.html_extended.ViewPanelRenderer.encodeBegin(ViewPanelRenderer.java:412)
com.ibm.xsp.renderkit.ReadOnlyAdapterRenderer.encodeBegin(ReadOnlyAdapterRenderer.java:146)
javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:956)
javax.faces.component.UIData.encodeBegin(UIData.java:788)
com.ibm.xsp.component.UIDataEx.encodeBegin(UIDataEx.java:425)
com.ibm.xsp.component.UIViewPanel.encodeBegin(UIViewPanel.java:288)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:841)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:852)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:852)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:852)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:852)
com.ibm.xsp.component.UIViewRootEx._renderView(UIViewRootEx.java:1317)
com.ibm.xsp.component.UIViewRootEx.renderView(UIViewRootEx.java:1255)
com.ibm.xsp.application.ViewHandlerExImpl.doRender(ViewHandlerExImpl.java:651)
com.ibm.xsp.application.ViewHandlerExImpl._renderView(ViewHandlerExImpl.java:321)
com.ibm.xsp.application.ViewHandlerExImpl.renderView(ViewHandlerExImpl.java:336)
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:103)
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:210)
com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:120)
com.ibm.xsp.controller.FacesControllerImpl.render(FacesControllerImpl.java:270)
com.ibm.xsp.webapp.FacesServlet.serviceView(FacesServlet.java:261)
com.ibm.xsp.webapp.FacesServletEx.serviceView(FacesServletEx.java:157)
com.ibm.xsp.webapp.FacesServlet.service(FacesServlet.java:160)
com.ibm.xsp.webapp.FacesServletEx.service(FacesServletEx.java:138)
com.ibm.xsp.webapp.DesignerFacesServlet.service(DesignerFacesServlet.java:103)
com.ibm.designer.runtime.domino.adapter.ComponentModule.invokeServlet(ComponentModule.java:576)
com.ibm.domino.xsp.module.nsf.NSFComponentModule.invokeServlet(NSFComponentModule.java:1335)
com.ibm.designer.runtime.domino.adapter.ComponentModule$AdapterInvoker.invokeServlet(ComponentModule.java:853)
com.ibm.designer.runtime.domino.adapter.ComponentModule$ServletInvoker.doService(ComponentModule.java:796)
com.ibm.designer.runtime.domino.adapter.ComponentModule.doService(ComponentModule.java:565)
com.ibm.domino.xsp.module.nsf.NSFComponentModule.doService(NSFComponentModule.java:1319)
com.ibm.domino.xsp.module.nsf.NSFService.doServiceInternal(NSFService.java:662)
com.ibm.domino.xsp.module.nsf.NSFService.doService(NSFService.java:482)
com.ibm.designer.runtime.domino.adapter.LCDEnvironment.doService(LCDEnvironment.java:357)
com.ibm.designer.runtime.domino.adapter.LCDEnvironment.service(LCDEnvironment.java:313)
com.ibm.domino.xsp.bridge.http.engine.XspCmdManager.service(XspCmdManager.java:272)
ACL 是问题所在。似乎文档显示是在用户权限下进行的,但搜索是在服务器权限下进行的(因此我可以显示视图面板但不允许在其中进行搜索)。 我已经更正了 ACL,因此服务器具有管理员权限(LocalDomainServers 设置为服务器组,而不是仅服务器)。 感谢您的帮助!