Xpages 公共访问查找失败
“我的数据库”的ACL已将“匿名”设置为“无访问权限”,并已设置“读取公共文档”。我有一个设置为公共访问的Xpage。该页面显示良好,无需登录,但本应根据从视图中查找的文档中的字段显示消息的页面除外。如果打开xPage的公共访问,则查找失败。如果我关闭xPage的公共访问,那么当然会要求我登录以显示页面,但页面上会显示消息 这是我使用的公式。我对其进行了一些修改,以帮助解决此问题。对于xPage集的公共访问,代码显示一个“4”(在视图中找不到文档) 我已为设置视图和显示设置视图的窗体设置了公共访问权限。PasswordChangeSuccess字段是richtext/MIME字段Xpages 公共访问查找失败,xpages,Xpages,“我的数据库”的ACL已将“匿名”设置为“无访问权限”,并已设置“读取公共文档”。我有一个设置为公共访问的Xpage。该页面显示良好,无需登录,但本应根据从视图中查找的文档中的字段显示消息的页面除外。如果打开xPage的公共访问,则查找失败。如果我关闭xPage的公共访问,那么当然会要求我登录以显示页面,但页面上会显示消息 这是我使用的公式。我对其进行了一些修改,以帮助解决此问题。对于xPage集的公共访问,代码显示一个“4”(在视图中找不到文档) 我已为设置视图和显示设置视图的窗体设置了公共访
我还尝试在表单上添加$PublicAccess,但没有成功。知道哪里出了问题吗?e.message会给您错误消息,请将其添加到输出中。我的赌注是无法进入。试试这个:
var vw:NotesView = database.getView("Setup");
if (vw == null ) {
print("Failed to get the view");
return "NULL view encountered";
}
print("View is valid");
var doc:NotesDocument = vw.getDocumentByKey("Setup",true);
if (doc == null) {
print("Doc could not be obtained");
return("Doc could not be obtained");
}
// Only here the fun starts!
try {
return "1"+doc.getFirstItem("PasswordChangeSuccess").getMIMEEntity().getContentAsText();
} catch (e) {
print("MIME failed:" +e.message);
try {
return "2"+doc.getFirstItem("PasswordChangeSuccess").getText();
} catch (e) {
print(e.message);
return e.message;
}
}
// If you got here, what happened?
return("Miracle");
您还应该删除Java/C格式设置首选项。在JavaScript中,行结尾具有重要意义。所以
function bla()
{
}
处理方式不同于
function bla() {
}
至少还有一个额外的行结尾需要自动插入分号处理步骤。在Java/C中,这是一个编码品味的问题(取决于您)。在JavaScript中,它会影响处理。解决了这个问题。虽然$PublicAccess字段位于表单上,但未对其进行计算。现在似乎一切正常。请验证表单本身没有定义acl,并且数据在reader/authors字段中的值是否正确您的文档是否有$PublicAccess字段?@jjbsomhorst-表单已设置为所有reader及更高版本。没有特别的安全措施。@Sven-看看我文章的最后一行。@BruceStemplewski:我已经读了你的最后一行。你说的是表单,我说的是存储在数据库中的文档。我得到的文档不能像我在帖子中提到的那样显示。我有相关的后续信息,我将在另一篇文章中为XPages添加.Ol'陷阱。只有在将数据源设置为使用表单进行计算时,表单中才有相关内容。我不再经常使用表单了
function bla() {
}