0

CloudBeesのJavaEEスタックで単純なWebアプリケーションを実行しようとしています。このアプリケーションの一部として、DataSourceRealmであるセキュリティレルムを定義します

    <login-config>
    <auth-method>FORM</auth-method>
    <realm-name>ResmanRealm</realm-name>
    <form-login-config>
        <form-login-page>/welcome.xhtml</form-login-page>
        <form-error-page>/welcome.xhtml</form-error-page>
    </form-login-config>
</login-config>

これまで、ローカルのGlassfish3サーバーを使用してこれを作成しました。このサーバーでは、JDBCリソースに対してResmanRealmを定義しています。Glassfish3-config-speakでは、このようになります

        <auth-realm classname="com.sun.enterprise.security.auth.realm.jdbc.JDBCRealm" name="ResmanRealm">
      <property name="jaas-context" value="jdbcRealm"></property>
      <property name="encoding" value="Hex"></property>
      <property name="password-column" value="password"></property>
      <property name="datasource-jndi" value="jdbc/ResManPool"></property>
      <property name="group-table" value="V_USER_ROLE"></property>
      <property name="user-table" value="USER"></property>
      <property name="group-name-column" value="role"></property>
      <property name="digest-algorithm" value="SHA-256"></property>
      <property name="user-name-column" value="name"></property>
    </auth-realm>

したがって、これはすべてローカルで機能します。Cloudbeesには、ドコがレガシーであると述べているcloudbees xmlファイルがありますが、これを何らかの形でサポートしているように見えました。私が見つけられないのは、セキュリティレルムを構成パラメータとして定義する方法の例です。(CloudBeesで言えば)リソースである可能性があるように見え、データベースをアプリケーションにバインドするときにそれを定義できます。しかし、既存のリソースの例(少なくとも私が見つけることができるもの)は少し一般的であるため、例は素晴らしいでしょう。

また、(現在失敗している)アプリケーションの起動からの出力ログには、DataSourceRealmsがロードされていることが示されていませんか?

[#|2013-02-25T11:03:51.319+0000|INFO|glassfish3.1.2|javax.enterprise.system.core.security.com.sun.enterprise.security|_ThreadID=12;_ThreadName=AutoDeployer;|SEC1010: Entering Security Startup Service|#]

[#|2013-02-25T11:03:51.333+0000|INFO|glassfish3.1.2|javax.enterprise.system.core.security.com.sun.enterprise.security|_ThreadID=12;_ThreadName=AutoDeployer;|SEC1143: Loading policy provider com.sun.enterprise.security.provider.PolicyWrapper.|#]

[#|2013-02-25T11:03:51.452+0000|INFO|glassfish3.1.2|javax.enterprise.system.core.security.com.sun.enterprise.security.auth.realm|_ThreadID=12;_ThreadName=AutoDeployer;|SEC1115: Realm [admin-realm] of classtype [com.sun.enterprise.security.auth.realm.file.FileRealm] successfully created.|#]

[#|2013-02-25T11:03:51.461+0000|INFO|glassfish3.1.2|javax.enterprise.system.core.security.com.sun.enterprise.security.auth.realm|_ThreadID=12;_ThreadName=AutoDeployer;|SEC1115: Realm [file] of classtype [com.sun.enterprise.security.auth.realm.file.FileRealm] successfully created.|#]

[#|2013-02-25T11:03:51.483+0000|INFO|glassfish3.1.2|javax.enterprise.system.core.security.com.sun.enterprise.security.auth.realm|_ThreadID=12;_ThreadName=AutoDeployer;|SEC1115: Realm [certificate] of classtype [com.sun.enterprise.security.auth.realm.certificate.CertificateRealm] successfully created.|#]

[#|2013-02-25T11:03:51.498+0000|INFO|glassfish3.1.2|javax.enterprise.system.core.security.com.sun.enterprise.security|_ThreadID=12;_ThreadName=AutoDeployer;|SEC1011: Security Service(s) Started Successfully|#]

したがって、CloudBeesのJavaEEスタックでDataSourceRealmsを定義することに成功した人がいれば、正しい方向への微調整をいただければ幸いです。情報をありがとう。

4

2 に答える 2

2

CloudBeesは、ここに記載されているように、Glassfish3およびGlassfish4スタックでJaaS認証およびセキュリティレルムをサポートするようになりました。

Glassfish3およびGlassfish4のCloudBeesセキュリティレルムは、必要と思われるJdbcRealmsのみに基づいていることに注意してください。

于 2013-07-15T09:56:01.523 に答える
0

コンテナベースの認証はCloudBeesスタックでは使用できませんが、従来の理由でtomcat6を使用できます。推奨されるアプローチは、セキュリティフレームワーク(スプリングセキュリティまたはその他)を使用してアプリケーションを計測することです。

于 2013-05-18T06:20:29.207 に答える