1

OpenSAML2 ライブラリを使用してサービス プロバイダをセットアップしようとしています。ユーザーのブラウザーから HttpRequest を受け入れるサーブレットをセットアップしようとしています。要求パラメーターに基づいて、SAML 認証要求パケットを作成します。

SAML パケットを作成することはできますが、SAML を Base64 でエンコードして、ユーザーのブラウザーを ID プロバイダー サーバーにリダイレクトできるようにしたいと考えています。そのために、「org.opensaml.saml2.core.impl.AuthnRequestMarshaller#marshall(AuthnRequest)」を使用して SAML 認証リクエストをマーシャリングしようとしています。

これは、Web サーバー環境 (スタンドアロンの Java アプリケーション) の外で試してみると問題なく動作します。ただし、サーブレット コンポーネントとして実行すると、「{urn:oasis:names:tc:SAML:2.0:assertion}Issuer, child of {urn:oasis:names:tc:SAML:2.0 で使用可能なマーシャラーがありません」というエラーが表示されます。 :protocol}AuthnRequest"、ここで Issuer は AuthnRequest オブジェクトのコンポーネントです。

Tomcat 5.5.34 Web サーバーを使用しています。誰かがここで何が起こっているのかを理解するのを手伝ってくれるといいですね. 独自のサービス プロバイダーを作成しようとしている他のユーザーにも役立ちます。驚くべきことに、これに関するドキュメントはほとんどありません。

ありがとう、カウストブ

4

2 に答える 2

2

Tomcat common/endorsed ディレクトリ内に次の jar が必要です。

  • リゾルバー-2.9.1.jar
  • serializer-2.9.1.jar
  • xalan-2.7.1.jar
  • xercesImpl-2.9.1.jar
  • xml-apis-2.9.1.jar

SAML2サービス プロバイダーの例を次に示します [サンプル WAR も含まれています]。

于 2011-10-01T04:20:13.060 に答える
0

Prabathの答えは点にあります。私は同じ問題に直面し、Sun iJDK で xalan と xerces を承認することで解決しました。Shibboleth サイトの公式ガイドを確認してください。openSAML の導入要件については、「ライブラリのインストール」を参照してください。

于 2012-08-24T13:27:42.310 に答える