0

我对 xPages 非常陌生,并且一直在阅读有关 xAgents 的信息。我需要写一个,但有点困惑如何开始。诸如一旦编写完成后如何调用它之类的事情。代码放在哪里,能不能用库代码,java代码。. .

有没有人有我可以看到的完整样本,所以我可以开始使用这个?我的大部分代码都写在 xPage 中,但出于安全原因,需要将其放入带有 sessionAsSigner 的 xAgent 中以访问其他数据。

谢谢!

4

2 回答 2

6

您的第一站将是创造术语 XAgent 的原始文章(另请查看文章末尾的链接)。根据您的输出,XMl Helper 类也可能很有用。

更新/澄清: XAgent 是一种前端编程技术,而不是后端工具。XAgent 从浏览器(或其他使用 HTTP(s) 的设备)调用,因此需要最终用户可以访问(当然 ACL 也适用)。对于您的程序调用的功能,您可以使用 bean 和/或 SSJS 库

但退后一步:

  • XAgent 首先是 XPage。所以XPage 的所有规则都适用:
  • 通过 URL 调用它,没有调度或事件工具。XAgent 是 ?OpenAgent URL 命令的替代品,而不是其他代理用例
  • XAgent始终可以从外部访问,这是它的唯一目的,而不是后端调用的设备
  • 由于您对 XAgent 的访问是通过 URL 进行的,因此这不是一种安全方法,安全性是使用 ACL、Readers 和 Authors 完成的。小心使用 sessionAsSigner,如果这是你的默认设置,你需要重新审视你的访问控制想法
  • 由于您自己渲染所有 XAgent 输出,因此典型用例是仅获取 XPage 输出流并将其传递给 Java(托管)bean 的函数调用

您可能想要查看的内容(再次:重新审视您的安全模型)是从 XPage 运行代理(会带来性能损失),或者只是为您的敏感部分使用托管 bean

于 2013-02-12T02:53:49.023 回答
1

在 xAgent 中使用 sessionAsSigner 可能会导致严重的安全问题。当匿名用户知道您的 xagent 的 url 时,他可以使用它从不允许这样做的用户那里检索数据。

xAgent 正在检索数据,以某种(可能)的 json 或 xml 结构显示数据,然后您的调用网站正在解析这些数据。因此,知道您的 xagent 的 url 的用户可以使用此代理来检索他不允许查看的数据。(如果我写了一个 php 脚本,用不同的参数调用你的代理 100 次呢?)

我认为最好的方法是将一个简单的 onclick 方法绑定到一个按钮,或者可能是一个 onchange,它在显示验证结果的面板上进行部分刷新。

于 2013-02-12T09:47:06.970 回答