Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/75.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 Xages xAgent安全性_Xpages - Fatal编程技术网

Xpages Xages xAgent安全性

Xpages Xages xAgent安全性,xpages,Xpages,我目前正在实现Mark Leusink的OpenNTF多文件上传程序 这个非常好的自定义控件使用xAgent将选定的文件附件嵌入到目标Notes文档中。在我将Authors和Readers字段添加到Notes文档之前,一切都很正常。现在我上传文件时出现了一个安全错误(402) 我的想法是上传xAgent无法编辑目标文档以附加文件。如果我删除了安全字段,一切都会恢复正常 我的问题是,xAgents是否以与当前用户相同的安全性运行?如果没有,我可以为xAgent设置一个“运行方式”用户,就像为Lot

我目前正在实现Mark Leusink的OpenNTF多文件上传程序

这个非常好的自定义控件使用xAgent将选定的文件附件嵌入到目标Notes文档中。在我将Authors和Readers字段添加到Notes文档之前,一切都很正常。现在我上传文件时出现了一个安全错误(402)

我的想法是上传xAgent无法编辑目标文档以附加文件。如果我删除了安全字段,一切都会恢复正常


我的问题是,xAgents是否以与当前用户相同的安全性运行?如果没有,我可以为xAgent设置一个“运行方式”用户,就像为Lotus脚本代理设置用户一样吗?

我建议您查看xAgent的代码并重写它,以使用sessionAsSigner访问数据库/文档来上载文件。这将导致它作为应用程序的签名者运行,并绕过您遇到的安全问题。

Tom和Declan的答案都是正确的,但这不计入文件上载者

它使用一个Flash组件来完成实际的上传(称为SWFUpload)。由于浏览器cookie不与Flash共享,因此它无法将用户的会话cookie与文件一起发送,因此执行上载的用户未登录Domino服务器(也称为匿名)。这就是为什么上传程序要求允许匿名用户读取/写入ACL中的公共文档,并且处理上传文件的XPage/XAgent(aUpload.xsp)设置为允许“公共访问用户”。它使用sessionAsSigner对象访问数据库的内容

通常,上述设置允许每个人匿名上传文件。这就是为什么我根据Mark Barton的想法实现了一个定制:在上传每个文件之前,向XPage发出请求以检索唯一密钥。该XPage(aGetAuth.xsp)在用户凭据下运行,并将密钥存储在数据库的文档中。此密钥随上载的文件一起发送,并与存储的密钥进行比较。仅当密钥匹配时才允许上载


首先,我要检查aUpload.xsp XAgent中的代码是否可以使用sessionAsSigner调用读写目标文档。

马克、德克兰和蒂姆,感谢您的参与

我修改了
xAgent**aGetAuth.xsp**
以使用
sessionAsSigner
获取当前数据库。起初,我得到了错误
“sessionAsSigner not found”


谷歌展示了一个快速的答案,那就是在测试前重新签署模板。在对模板重新签名两次并执行“清洁”后,一切都非常出色

是,所有XPages都在当前用户的权限下运行。Declan的建议允许您混合和匹配:对通过sessionAsSigner获得的对象执行的操作使用签名者的权限;对所有其他对象执行的操作使用当前用户的。