問題タブ [jdbcrealm]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
security - JDBC レルム ユーザーのグループをロードできません
私の jdbcRealm はどういうわけか GlassFish から魔法で削除されました。もう一度追加しようとすると、次のエラーが表示されます。
ここで見た他の回答に基づいて、犯人は通常、列名として使用されている予約語ですが、これは私の場合は問題ではないようです (下のスクリーンショットを参照)。最近、いくつかのデータベース モデルが変更されたため、web.xml と glassfish-web.xml でロールのグループへのマッピングを再構成する必要がありました。5 つの役割があり、それらはユーザー間で 1:1 のマッピングです。
glassfish - Glassfish は jdbcRealm が実際には fileRealm であると考えています
Glassfish 3.1.1 で新しい jdbcRealm を構成し、FINEST ログを有効にしました。ユーザー名とパスワードでログインしようとすると、次のようになります。私のWebアプリがマップされているレルムが本当にjdbcRealmであるのにfileRealmであると不平を言います。Glassfish が fileRealm であると考える理由について何か考えはありますか?
私のレルム構成:
web.xml:
spring-roo - Spring Roo プロジェクト用に Apache Shiro を使用して JDBC レルムをセットアップする
JPA パーシスタンス レイヤーに Eclipse リンクを使用して Spring-Roo プロジェクトをセットアップし、セキュリティを管理するために (User Roles, Users ) テーブルを作成しました。ユーザー名とパスワードの検索にデータベーステーブルを使用し、ユーザー名とパスワードを保存するように、Spring プロジェクトでレルムを設定して Apache Shiro を構成した人がいるかどうか疑問に思っていましたか?
現在、いくつかのテスト ロールと (ユーザー名、パスワード) の組み合わせで使用されている Shiro.ini ファイルがありますが、代わりに正しいフィルターを使用して web.xml ファイルを構成する方法を見つけようとしています。以下は、私の web.xml ファイルと現在のフィルター セットです。
Apache Shiro および Spring で (Postgres) を使用する JDBC レルムの例はありますか?
ssl - Tomcat 7 コンテナ管理のセキュリティと SSL が連携しない + jsf 2.1
Tomcat 7 ユーザー認証に JDBCRealm を使用し、https に SSL を使用していますが、それらを組み合わせる方法がわかりません。私の目標は、すべてのページを SSL で保護し、特定の役割だけが閲覧できるようにすることです。私はJSF 2.1を使用しています。これがweb.xmlの私のコードです
それらは別々に機能しているように見えますが、必要なのは組み合わせた方法です。これで、Tomcat はポート 8443 (https) にリダイレクトされなくなり、ブラウザに入力するだけで任意のページにアクセスできるようになりました。SSL http://tomcat.apache.org/tomcat-7.0-doc/ssl-howto.htmlにはこのページを使用し、JDBCRealmにはこのページを使用しましたhttp://tomcat.apache.org/tomcat-7.0-doc/realm- howto.html . プログラムで、特定のページへのアクセスを特定のロールのみに許可し、同時にすべてを HTTPS で実行したいと考えています。これで私を助けてください。どこで間違えたのかわからない。エラーは表示されません。
解決済み
問題は思ったよりも深刻でした。Tomcat 7 はカスタム フォームのユーザー認証をサポートしていないため、上記のセキュリティ ロールは機能しませんでした。これを解決するには、ページへの不正なエントリを保護するための Filter クラスを作成する必要がありました。
誰かが同じ問題を抱えている場合に備えて、このトピックを残します (管理者がこのトピックを無関係だと判断した場合は、自由に削除してください)
java - Glassfish 3.0 セキュリティ レルムでの bcrypt の使用
私は現在、Web アプリケーションでのパスワード処理を unsalted MD5 から bcrypt に変更中です。これは、Glassfish 3.0.1 で実行される標準の JSF アプリケーションです。
jBCrypt を使用すると、ハッシュの作成と保存が非常に簡単になりました。しかし、ユーザーがログインするときの実際の認証で bcrypt を使用する方法がわかりません。JSF であるため、ログインは HttpServletRequest#login メソッドを使用してトリガーされ、残りは Java EE スタックと Glassfish によって処理されます。
セキュリティ レルム ダイジェスト アルゴリズムを「なし」に設定し、ログイン メソッドに渡す前にパスワードをハッシュするだけでは機能しません。また、カスタム セキュリティ レルムの実装を提供することも検討しましたが、このような小さな変更には多くの作業が必要なようです。
もっと簡単な解決策はありますか?または、誰かがすでに同様のセキュリティ レルムを実装していますか?
hibernate - JPA アノテーションを使用した Glassfish JDBC セキュリティ レルム
Derby 10.5.3.0 データベースを使用して、Glassfish 3.1.1 で実行されているかなり単純なサーブレット アプリケーションがあります。JPA アノテーションを使用してセキュリティ レルムを作成し、正常にログインできました。私の問題は、Users エンティティにアクセスしようとしたときに発生します。JPA/Hibernate は、StackOverflowError 例外をスローするまでユーザー テーブルを繰り返し読み取っているようです。ログインコードをコメントアウトしようとしましたが、ユーザーテーブルにアクセスしようとすると例外が発生するため、JPA 注釈に問題があるに違いないと確信しています。誰でも助けてもらえますか?
ユーザー.java:
Role.java:
}
私のユーザーファインダーコード(ロックモードはOPTIMISTICです):
tomcat - Tomcat JDBCRealm のダイジェスト パスワードを準備するには?
ここの例ではhttp://tomcat.apache.org/tomcat-7.0-doc/realm-howto.html#JDBCRealmuser_pass
列のタイプはですがvarchar(15)
、java.security.MessageDigest
クラスは を取り、返しますbyte[]
。'abcd'
Tomcatが期待するMD5ダイジェストに変換するには、パスワードにどの変換を適用する必要がありますか?
PS。
私は以下を試しましたが、うまくいきます(digest.batの結果と一致します)。唯一の問題は長さです。ダイジェストは 15 文字よりも長くなります。テーブルだけ変えることはできますか?
tomcat - context.xml での jdbcRealm の構成
現在、すべてのデータベース接続は正常に機能していますが、レルムを追加した後、次のエラーがスローされ、ライブラリに sqljdbc4.jar が既に追加されています。
何が問題なのですか?
mysql - glassfish v3 を使用した jdbc レルム: レルムのプロパティと構成エラー
次のデータベース スキーマ (MySQL) があります。
私のログインはフォームベースの認証システムで、jdbc レルムを作成しようとしています。
私のweb.xml:
そして、sun-web.xml のマッピング:
理由はわかりませんが、うまくいきません。次のようになります。
私が持っているデータベーススキーマに基づいて「正確な」プロパティを設定していますか? 何が間違っているのか理解できなかったので、助けていただければ幸いです。
アップデート
これは、同じシナリオを持っている人のための場合です。
@perissf に基づくと、GlassFish JDBC Realm は正規化されたテーブルをサポートしていません。スキーマがどうあるべきかについてのチュートリアルについては、@ perissf のリンクを確認してください。
ただし、私がしたことは次のとおりです。
正規化されたスキーマを保持し、必要なすべての列を含むMySQL「ビュー」を作成しました。つまり、列[ユーザー名、パス、グループ名]
-->そして、Jdbc プロパティを次のように変更しました。
「ビュー」を使用する理由は、@Matt Handy が言ったように、「JdbcRealm ではユーザー名列名がユーザー テーブルとグループ テーブルで同じである必要がある」
ため、私の場合は重複データが作成されるため、ビューを使用しました。