0

JAAS を OC4J で動作させようとしています。
以前、JBoss で JAAS を動作させたことがあります。JBoss で JAAS を使用するのは簡単です (私にとっては)。

アプリの jboss-web.xml に、次のように記述します。

<security-domain>java:/jaas/myApp</security-domain>

JBoss の login-config.xml に以下を追加します。

<application-policy name = "myApp">
   <authentication>
      <login-module code="org.jboss.security.auth.spi.DatabaseServerLoginModule" flag = "required">
        <module-option name="dsJndiName">java:/jdbc/myDS</module-option>
        <module-option name="principalsQuery">SELECT password FROM users WHERE username=?</module-option>
        <module-option name="rolesQuery">select name, 'Roles' from groups ...</module-option>
      </login-module>
   </authentication>
</application-policy>

では、OC4J でこれに相当するものは何でしょうか? Realms、UserManagers などを扱う必要は本当にあるのでしょうか?それとも、system-jazn-data.xml ファイルに XML を追加するだけでよいのでしょうか? 最も簡単な解決策は何ですか?

4

2 に答える 2

1

a) 実際には、それを orion-applcation に配置するのが最善の方法です。アプリケーションがデプロイされるたびに自動的にインストールされます。次のようになります。

<jazn-loginconfig>
  <application>
    <name>ApplicationName</name>
    <login-modules>
      <login-module>
        <class>mycomapany.idm.loginmodules.BlahBlahLoginModule</class>
        <control-flag>required</control-flag>
        <options>
          <option>
          <name>debug</name>
          <value>true</value>
          </option>
        </options>
      </login-module>
    </login-modules>
  </application>
</jazn-loginconfig>

b) JAAS の Oracle 実装/置換である JAZN を確認する必要があります。より堅牢で柔軟です (より複雑ですが)。ログインロジックが上記のように単純であれば、それで十分だと思います。

于 2011-01-24T16:02:19.183 に答える
1

わかりました、さらに宿題をして、それが近いことがわかりました。これを $OC4J_HOME/j2ee/yourinstance/config/system-jazn-data.xml に追加する必要があります

<application>
  <name>myApp</name>
  <login-modules>
    <login-module>
      <class>com.company.project.JDBCLoginModule</class>
      <control-flag>required</control-flag>
      <options>
        <option>
          <name>principalsQuery</name>
          <value>SELECT password FROM users WHERE username=?</value>
        </option>
        <option>
          <name>dsJndiName</name>
          <value>jdbc/myDS</value>
        </option>
      </options>
    </login-module>
  </login-modules>
</application>

次に、 を実装する JDBCLoginModule クラスを作成する必要がありますjavax.security.auth.spi.LoginModule。OC4J にはすでにそのクラスがあるのか​​もしれませんが、見つかりませんでした。OC4JにデプロイされるEAR/WAR/JARにそのクラスを含めます。

ログインのグループ/ロールの側面にまだ取り組んでいます。

更新: さらに良いことに、公式の Web ページを見つけました。

于 2010-08-19T17:54:46.200 に答える