2012-05-15 2 views
6

Java EE6の新機能で、JDBCRealmをセットアップしようとしています。多くの例では、ユーザー/グループ情報をSQLで手作業で保持するテーブルを作成することを推奨しています。JPRとJDBCRealm

もっと「JPA」という方法がありますか? Glassfishが期待しているテーブルは、例えばあなたが使用しているテーブル構造の種類に適合しないと予想しています。 OneToManyマッピング(これは私が使用できることを望んでいたものです)。

私はGlassFishが引き続きJDBCRealmを達成するためにJDBCを使用していると読んでいます。これは理由を説明します。そして、私はJPAでこれを行う方法を示唆しているこのブログに出くわしました。

http://www.codeproject.com/Articles/238779/J2EE-JDBC-based-authentication-with-JPA-Entities-i

しかし、JPAでそれを行うには '公式' な方法はありますか?私は安全なアプリケーションを確保するためにベストプラクティスに従っていることを確認したいと思います。

おかげ

+0

究極のソリューションに関係なく、本番システムではJDBCRealmを避けるべきです。 Apache Tomcatからフォークしても変更されていない場合、それはまだシングルスレッドなので、すべての資格チェックなどがシリアル化されます。少なくともDataSourceRealmを使用し、Glassfishが接続プールを使用できるようにします。 –

+0

ありがとうクリストファー。それが認証を行うための最良の現在の方法なら、私はあなたの提案に従います。 DataSourceRealmについて聞いていないJavaを再学習するので、すべてのことを正しい方法で(できるだけ最新に)実行していることを確認したい。 – Richard

+0

私はJBossのWebサイトでDataSourceRealmを見ていますが、Glassfishのものではそれほど多くはありません。 JDBCベースの認証の最善の方法ですか? – Richard

答えて

5

数ヶ月前、私はGlassFishのと私のJDBCレルムを作成したいと私も疑問の多くを持っていました。私はJPAを使ってどのようにしたのかを多かれ少なかれ説明しようとします。

例の多くは、SQL

手で、ユーザー/グループ 情報を保持するテーブル

を行うことをお勧め私はあなたがなぜ永続性に関連する他のタスクのためにJPAを使用している場合、あなたが作るだろう、反対しますセキュリティに関しては例外です。 JPAは良い考えです。 DBコンソールにSQLのチャンクをコピー/ペーストするのは簡単ですが、アプリをデプロイするときに自動的にテーブルを自動的に作成するエンティティを持つ方が良いでしょう。

次のチュートリアルはうまくいきますが、ベストプラクティスとは思えません。

JDBC領域の作成に役立つリソースがあります。

http://javing.blogspot.in/2012/05/here-in-this-video-you-can-see-how-i.html

それはGlassFishの中ROLEベースのセキュリティについて語り、私はそれが与えることができると思う: はたぶん、あなたはこの記事を見ているような場合には、ちょうどウォームアップするために、もう少しシンプルなものに興味がありますあなたにいくつかのヒント。

あなたは私が時間前に作られたこの質問に従って、JPAとJDBCレルムを作成する方法を知りたい場合は、最後にあなたが解決策を見つけるでしょう:

Glassfish 3 security - Form based authentication using a JDBC Realm

あなたはいくつかのコードを、私たちを貼り付けた場合あなたが困っている場合に苦労するのを助けることができます。

+0

こんにちはsfrj、ありがとう。 2番目のリンクは本当に役に立つ情報をたくさん提供しています。私の場合、私はFlexibleJDBCRealmが動作しているし、それは本当に良いようです。メーリングリストは非常に静かなので、どれくらい使い慣れているのかは分かりませんが、これまでは非常によく書かれた分野だと思います。私はあなたの投稿が本当に私のために役立つので、これに新しいです。どうもありがとう! – Richard

+0

@リチャードようこそ – sfrj

関連する問題