0

私は xPages を初めて使用し、xAgents について読んでいます。私はそれを書く必要がありますが、どのように始めればよいのか少し戸惑っています. 書いた後の呼び方とか。コードをどこに置くか、ライブラリ コード、Java コードを使用できますか。. .

これを開始できるように、私が見ることができる完全なサンプルを持っている人はいますか? ほとんどのコードを xPage で記述していますが、セキュリティ上の理由から、他のデータにアクセスするには、sessionAsSigner を使用して xAgent に配置する必要があります。

ありがとう!

4

2 に答える 2

6

最初に立ち寄るのは、XAgent という用語を作り出した元の記事です (記事の最後にあるリンクも確認してください)。出力によっては、XML ヘルパー クラスも役立つ場合があります。

更新/明確化: XAgent はフロントエンドプログラミング手法であり、バックエンド ツールではありません。XAgent はブラウザー (または HTTP(s) を使用する他のデバイス) から呼び出されるため、エンドユーザーがアクセスできる必要があります (もちろん ACL が適用されます)。プログラムが呼び出す機能については、Bean や SSJS ライブラリを使用します。

しかし、一歩下がって:

  • XAgent は何よりもまず XPage です。したがって、XPageのすべてのルールが適用されます。
  • URL 経由で呼び出します。スケジューリングやイベント機能はありません。XAgent は ?OpenAgent URL コマンドの代替であり、他のエージェントの使用例ではありません
  • XAgent は常に外部からアクセス可能です。それが唯一の目的であり、バックエンド コール用のデバイスではありません。
  • XAgent へのアクセスは URL 経由であるため、セキュリティのアプローチではありません。セキュリティは ACL、リーダー、および作成者を使用して行われます。sessionAsSigner の使用には注意してください。それがデフォルトである場合は、アクセス制御のアイデアを再検討する必要があります
  • すべての XAgent 出力を自分でレンダリングするため、典型的なユース ケースは、XPages 出力ストリームのみを取得し、これを Java (マネージド) Bean の関数呼び出しに渡すことです。

確認したいこと (セキュリティ モデルを再確認) は、XPage からエージェントを実行すること (パフォーマンスのペナルティが伴います)、または単に機密性の高い部分にマネージド Bean を使用することです。

于 2013-02-12T02:53:49.023 に答える
1

xAgent で sessionAsSigner を使用すると、重大なセキュリティ上の問題が発生する可能性があります。匿名ユーザーが xagent の URL を知っている場合、それを使用して、許可されていないユーザーからデータを取得できます。

xAgent はデータを取得し、何らかの種類の json または xml 構造でデータを表示し (おそらく)、呼び出し元の Web サイトがこのデータを解析しています。このため、xagent の URL を知っているユーザーは、このエージェントを使用して、閲覧が許可されていないデータを取得できます。(あなたのエージェントを異なるパラメータで数百回呼び出すphpスクリプトを書いたらどうなるでしょうか?)

最良のアプローチは、単純な onclick メソッドをボタンにバインドするか、検証の結果を表示するパネルで部分的な更新を行う onchange にすることだと思います。

于 2013-02-12T09:47:06.970 に答える