0

カスタム永続レイヤーを使用して、SAP Netweaver 7.3 に Orbeon 4.0 ベータ 3 をセットアップしました。

このレイヤーは、これを念頭に置いて Netweaver で作成されます : http://wiki.orbeon.com/forms/doc/developer-guide/form-runner/persistence-apiフォームとデータを保存します。バックエンドへの接続は、SAP HTTPDestination 経由で行われます。

この設定は、web.xml などで認証がオフになっている限り機能します。

次のステップは、SSO を念頭に置いてこれを有効にすることでした。同じ SSO チケットを使用して永続化レイヤーが呼び出され、ユーザーコンテキストが SAP バックエンドに渡されるようにします。

手順:

  1. 適切な SAP ロールとログイン スタック (チケット) を使用して、orbeon web.xml と web-j2ee-engine でセキュリティを有効にします。
  2. 永続化レイヤーでセキュリティを有効にする
  3. MYSAPSSO2 Cookie を渡すように orbeon をセットアップします (property as="xs:string" name="oxf.http.forward-cookies" value="MYSAPSSO2"/>)。

ブラウザー ウィンドウを見ると、JSESSIONID および MYSAPSSO2 Cookie が表示されます。これは、Cookie を読み取るために Orbeon の前に作成した Java フィルターによってサポートされています。Orbeon の前にあるこのフィルタは、サーブレット リクエストの Cookie[] 配列をループします。

これについて 3 つのログ レコードがあり、最初のログ レコードの JSESSION が次のようになっていることに気付きました。

Cookie: JSESSIONID   0iqTevo1vDb_lYFwTa-9CJHymaGMPAHaCk0A_SAPox1Z6aY-RvYBtiK-2U5GLmAh

次のレコードは次のようになりました。

Cookie: JSESSIONID   0iqTevo1vDb_lYFwTa-9CJHymaGMPAHaCk0A_SAP

では、最初の質問は、なぜ JSESSIONID を削除したのかということです。

percistancy レイヤーのログを見ると、このクラスはエラーを示しています。

com.sap.engine.services.security.authentication.loginmodule.ticket
Base64 Encoded Ticket String: 0iqTevo1vDb_lYFwTa-9CJHymaGMPAHaCk0A_SAP

SAP はこの短い JSESSIONID を処理できるように見えます。

ブラウザ経由のテスト:

  1. Orbeon フォームの URL を開く
  2. 表示されたログイン ページで SAP にログインします。
  3. /rest/test(永続層の URL) を開いて、再度ログインする必要があるかどうかを確認します

開くときにログインは不要/rest/testで、ログインに関するエラーは ありませんcom.sap.engine.services.security.authentication.loginmodule.ticket

4

0 に答える 0