図にしないと理解しづらい低能なので、JDBC、JNDI、JDBCレルムの依存関係はこんな感じ。
(コネクションプールを利用する場合)
- JDBC Connection Pool ... どこにあるDBに接続するか
- JDBC Resource(JNDI) ... JNDIとしてJDBC Connection Poolを取り扱えるようにする。
- JDBCレルム ... JNDIからJDBC Connection Poolへ接続し、特定のテーブルからユーザ名・パスワードとロール名を読み取る。
JDBCレルムでパスワードを取り扱う際には、生パスワードをDBに書き込むことができないのでうっかりさんも安心。寺田さんの記事の例ではSHA-256でハッシュ化してあります。
一応私の方でも実装編を解説しようかと思います。以下の寺田さんの例だとJSFを使っているので、前提知識多めな感じになってしまっているので...私の方ではもっとシンプルにServletとJSPを使って実装しようかと思います。
0 件のコメント:
コメントを投稿