Glassfish 認証:レルムを外部データベースにすることはできますか
-
25-09-2019 - |
質問
私はログインと認証の概念について全くの初心者です。私は、訪問者に一般的なコンテンツを表示し、ユーザー名とパスワードを使用してログインした登録ユーザーには追加のコンテンツを表示する Glassfish Web アプリケーションに取り組んでいます。
私はセキュリティに関する Java EE チュートリアルを読んでおり、フォームベースまたは HTTP 認証が私のニーズを満たすだろうと考えました (訪問者は保護されたコンテンツを閲覧しようとするときに資格情報を求められます)。
しかし、私の最初の推測は、登録ユーザーはハッシュ化されソルト化されたパスワードとともに外部データベースに保存されるべきだということでした。Glassfish の Web アプリケーションのセキュリティは、アプリケーション サーバーに手動で直接設定されたレルム (ユーザーとグループを定義し、アプリケーション内のロールにマッピングする) に依存しているようです。
Glassfish のセキュリティの目的を誤解していませんか?それとも、レルムをアプリケーション サーバーの外部の外部データベースにすることはできますか?このトピックに関するドキュメントへのリンクは私にとって役立ちます。
よろしくお願いします
タルト
解決
これは実際に可能です。 Glassfishのでは、設定/セキュリティ/レルムへ行く新しい領域を作成し、com.sun.enterprise.security.auth.realm.jdbc.JDBCRealmにクラス名を設定します。 JDBCリソースをデータベースにバインドを示し、およびユーザー名/パスワードが保存されているテーブルと列を示しています。また、データベースは、ユーザーがアクセス権を付与するために属している必要がありますグループ用のテーブルが含まれているものとします。また、それらを示しています。
アプリケーションで、は、いつものようにレルム名をweb.xmlおよび日-web.xmlのを設定します。
他のヒント
これは、あなたが説明したシナリオを含む、glassfish の jdbc レルムに関する記事です。 http://java-cookbook.blogspot.com/2011/02/jdbc-security-realm-with-glassfish-and.html