4

OpenAM/OpenSSO SSO 機能を JBoss EAP 6 または JBoss AS 7 に追加したいと考えています。つまり、JBoss に SSO Java EE エージェントをインストールする必要があります。Forgerock の OpenAM ダウンロード ページでは、以前のバージョンの JBoss のエージェントを入手できますが、新しい JBoss EAP 6 / JBoss AS 7 は (現時点では) サポートされていません。

そのようなエージェントがどこかで利用できるか、または近い将来に利用可能になるか知っていますか? そうでない場合、OpenAM で動作するように JBoss 構成を変更する方法を知っていますか?

4

3 に答える 3

2

現在、JBoss EAP 6 の公式エージェントはないようです。

ただし、JBoss インスタンスを手動で構成することにより、OpenAM SSO で動作させることができました。そのために、forgerock ダウンロード サイトで入手できる既存の jboss_v42_agent.zip から始めました。jar の agent.jar、openssoclientsdk.jar、およびエージェント構成ファイルを使用して、この module.xml を使用して JBoss モジュールを構築できました。

<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.1" name="openam.agents">
  <resources>
    <resource-root path="agent.jar"/>
    <resource-root path="openssoclientsdk.jar"/>
    <resource-root path="."/>
  </resources>
   <dependencies>
    <module name="javax.api"/>
    <module name="javax.servlet.api" />
    <module name="org.picketbox"/>
  </dependencies>
</module>

次に、セキュリティ ドメインを追加して、standalone.xml を更新する必要があります。

  <security-domain name="AMRealm" cache-type="default">
    <authentication>
      <login-module code="com.sun.identity.agents.jboss.v40.AmJBossLoginModule" flag="required">
        <module-option name="unauthenticatedIdentity" value="anonymous"/>
      </login-module>
      <login-module code="org.jboss.security.ClientLoginModule" flag="required">
        <module-option name="restore-login-identity" value="true"/>
      </login-module>
    </authentication>
  </security-domain>

最後に、次の行を追加して MANIFEST.MF を変更した後、agentapp.war を JBoss にデプロイしました。

Dependencies: openam.agents

ここで、openam.agents はモジュールの名前です。

ここで、SSO を有効にしたいアプリケーションに対して、いくつかの更新も実行する必要があります。

  1. web.xml : ノードとノードを追加します。

    <filter>
      <filter-name>Agent</filter-name>
      <display-name>Agent</display-name>
      <description>OpenAM Tomcat Policy Agent Filter</description>
      <filter-class>com.sun.identity.agents.filter.AmAgentFilter</filter-class>
    </filter>
    <filter-mapping>
      <filter-name>Agent</filter-name>
      <url-pattern>/*</url-pattern>
      <dispatcher>REQUEST</dispatcher>
      <dispatcher>INCLUDE</dispatcher>
      <dispatcher>FORWARD</dispatcher>
      <dispatcher>ERROR</dispatcher>
    </filter-mapping>
    
  2. jboss-web.xml : 使用するセキュリティ ドメインを宣言します

    <?xml version="1.0" encoding="UTF-8"?>
    <jboss-web>
      <security-domain>AMRealm</security-domain>
    </jboss-web>
    
  3. MANIFEST.MF : agentapp.was と同じ修正を適用 (「Dependencies: openam.agents」行を追加)

JBoss EAP 6 / AS 7 で SSO を有効にするのが最善の方法かどうかはわかりませんが (私は専門家ではありません)、うまく機能しているようです。

于 2012-08-10T11:30:05.230 に答える
1

forgerock が JBoss 7.x 用の J2EE Agent をリリースしたことに数日前に気付きましたが、まだテストしていません。http://forgerock.org/openam.htmlを参照してください。

于 2013-08-14T09:40:29.993 に答える