更改acl条目后必须清理数据库吗?

时间:2012-03-12 11:10:16

标签: xpages

我对Xpage应用程序有一个小问题,希望有人有 溶液:

首先概述一下: 我有一个包含4个用户角色的ACL:管理员,用户,无法访问

在我的情况下,我将用户角色更改为例如从用户更改为管理员。 然后打开一个Xpage女巫使用Java类我收到以下错误消息

错误500 HTTPWeb服务器:无法处理异常

解决这个问题我必须“清理”项目。

有人知道如何在不清洁的情况下解决这个问题吗?我的意思是用户如何在没有设计师的情况下解决这个问题?

我会理解如何通过“清理和构建项目”来解决问题

这是我在更改ACL后得到的完整错误:

The runtime has encountered an unexpected error.
Error source
Page Name:/ProjectsByName.xsp
Control Id: _id60

Exception
com.ibm.xsp.exception.EvaluationExceptionEx: Error while executing JavaScript computed   expression
Error while executing JavaScript computed expression
Script interpreter error, line=1, col=27: [ReferenceError] 'de' not found

JavaScript code

1: var exUtils = new de.itwu.RessourceUtils();
2: 
3: return exUtils.computeCountrybox();

► Stack Trace

堆栈跟踪为空 Java类在Code / Java中使用正确的包。 在一个干净的一切工作正常...没有别的像重新启动服务器上的HTTP任务或重新启动漏洞服务器工作

5 个答案:

答案 0 :(得分:2)

尝试重新启动HTTP任务。注意:如果通过控制台命令而不是通过管理员GUI执行此操作,请务必发出

restart task http

tell http restart

前者完全关闭任务并再次启动它;后者仅刷新某些配置设置。

完全重新启动任务会导致JVM被销毁,从而释放可能已缓存用户权限的任何类实例。清理项目会强制这种情况在每个应用程序的基础上发生,因为JVM中缓存的类不再存在(因为它已被更新版本替换),但重新启动HTTP任务对所有应用程序执行相同操作而不需要Designer

答案 1 :(得分:1)

如果你的java类在java设计元素中,则将它们移到web-inf\

答案 2 :(得分:1)

如果在数据库中使用sessionAsSigner,则数据库需要由一致的签名者签名。如果更改ACL会影响数据库的签名,则可能会在签名者中发生冲突。如果是这样,清洁项目将无效。

再次尝试签署数据库。如果您使用的是托管bean,则可能需要执行clean以重建类文件。我在一个场景中看到了这项工作。

跟踪日志可能会告诉您更多信息。在标准的Domino安装中,可以在C:\ Program Files \ IBM \ Lotus \ Domino \ data \ domino \ workspace \ logs

找到它们。

答案 3 :(得分:0)

我认为这与您使用更新数据库的ID有关。 ACL的更改会在数据库的某个属性的签名者中生成更改。签名者没有正确的权限。我认为您应该检查以下网址:An Intro to using xpages

  

要运行XPage,您必须更改服务器的默认安全性   设置。转到服务器的names.nsf - >配置 - >服务器 - >   所有服务器文档 - > - >安全 - >签署代理商或   XPages代表调用者运行。添加该人的姓名   最后保存了XPage。在我们的例子中,那就是你。

答案 4 :(得分:0)

从Notes客户端删除你的cache.ndk。

如果数据库在服务器上使用

dbcache flush

清除你在服务器中缓存内存......

如果两者都不兼容,则必须重新启动http或重新启动服务器或客户端。