問題タブ [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.
tomcat - 2 つの異なる (ユーザーと管理者) 認証用に Tomcat の web.xml と context.xml をセットアップする方法
これが私の状況です:
下に物が欲しい
mysite/顧客/*
アクセス前にフォームベースの認証を要求する (mysite/customer/login.jsp を介して、独自の user_password テーブルとロールでログインします。)
しかし
下に物が欲しい
マイサイト/管理者/*
アクセス前に別のフォームベースの認証を要求する(別の admin_user_password テーブルとロールのセットを使用して、mysite/admin/login.jsp 経由でログインします。)
Tomcat 6.0 でこれを行うことは可能ですか? もしそうなら、誰かがこれを実装する方法を簡単に説明できますか? 私は周りを見回して、1 つの Realm セットアップの例しか見ませんでした...以前に複数の Realm セットアップを見たことがありません。
私はJDBCRealmを使用しています。
java - MySQL PASSWORD()関数のJDBCRealmダイジェスト
内部Tomcat/Java / Strutsアプリケーションの場合、JDBCRealmを使用するようにカスタム作成された認証コードを変換しています。データベースはMySQL5.0であり、パスワードは暗号化されたPASSWORD()
文字列として保存されます。私たちのバージョンのMySQLでは、PASSWORD()
関数は非標準の(独自の?)41バイトのハッシュです。(パスワードに使用するべきではなく、代わりにSHA1()
またはを使用する必要があることを今では知っていますMD5()
。しかし、ここにあります。)
すべてのユーザーにパスワードの再入力を強制せずにJDBMRealmを使用して、パスワードを再エンコードできるようにする方法はありますか?PASSWORD()
エンコードされたパスワード列に対して認証できるJDBCRealmダイジェストはありますか?
authentication - Glassfish認証:レルムは外部データベースにすることができます
ログインと認証の概念はまったく初めてです。私は、すべての訪問者に一般的なコンテンツを表示し、ユーザー名とパスワードでログインした登録ユーザーに追加のコンテンツを表示する Glassfish Web アプリケーションに取り組んでいます。
私はセキュリティに関する Java EE チュートリアルを読んでいて、フォームベースまたは HTTP 認証が私のニーズを満たすと考えていました (保護されたコンテンツを参照しようとすると、訪問者は資格情報を求められます)。
しかし、私の最初の推測では、登録ユーザーは、ハッシュ化およびソルト化されたパスワードとともに外部データベースに保存する必要があるというものでした。Glassfish の Web アプリケーションのセキュリティは、アプリケーション サーバーに直接手動で入力されたレルムに依存しているようです (ユーザーとグループを定義し、それらをアプリケーションのロールにマッピングします)。
Glassfish のセキュリティの目的を誤解していませんか? それとも、レルムをアプリケーション サーバー外の外部データベースにすることはできますか? このトピックに関するドキュメントへのリンクは、私にとって役に立ちます。
前もって感謝します
タルト
security - glassfish jdbcrealm 認証で制限されたページに対してログインがトリガーされない
私は、EJB セキュリティと GlassFish の認証、承認メカニズムに非常に慣れていません。jdbc
レルムがありsun-web.xml
、web.xml
ロールをマップしてページへのアクセスを制限するように構成されています。
ただし、私の問題は、すべてのページへのアクセスを制限すると、ウェルカムページをロードする前に (BASIC 認証を使用して) 機能し、ログインポップアップがトリガーされることです。
しかし、フォルダー内のページへのアクセスを制限するとsecurity
、GlassFish はログインを要求せず、ユーザーを制限されたページにリダイレクトします。
この問題の解決を手伝ってください。よろしくお願いします。
セキュリティマネージャーをオンにした後、これらのエントリも見つかりました
p>jdbcrealm を使用するのではなく、admin-realm の admin プリンシパルが自動的に認証され、アプリケーションに使用されるようです。これを修正する方法について何か考えはありますか?
アップデート
申し訳ありませんが、認証を確認するフォームに変更しました。再度BASICに戻しました。はい、jdbcrealm という名前をデフォルトのレルムとして使用しています。
そうですよね…まさにその通りです
GlassFish はログイン フォーム ページにリダイレクトせず、制限されたリソースへのアクセスは制限されません
admin-realm admin が自動的に認証され、制限されたページにアクセスしようとすると、認証されたユーザーがチェックされ、管理者であり、ページへの権限があるため、ページにアクセスでき、ログインを求められないためだと思います。
これらは、アプリケーションを実行し、glass fish の管理コンソールにログインしようとしていないときにも表示されます
これらも
更新 2
<url-pattern>/*</url-pattern>
代わりに使ってみた<url-pattern>/security/*</url-pattern>
興味深いことに、これは私がトレースで得たものです。
アクセス拒否ページに移動します。
「HTTP ステータス 403 - 要求されたリソースへのアクセスが拒否されました」
ユーザーがログイン資格情報を送信せずに、glassfish がユーザーの従業員を認証する方法がわかりません。「従業員のパスワード ログインに成功しました」とさえ表示されます。この問題を解決するのを手伝ってください。
何よりも、ご尽力いただき、誠にありがとうございました。私はまだ問題に悩まされています。ここにxmlファイルを投稿しています。
sun-web.xml
web.xml
また、スタック トレースもありません。例外はありません。認証要件がないかのように、ユーザーは保護されたページにリダイレクトされます。これは、Netbeans 6.5.1 と Glassfish v2 を使用した jsf ビジュアル Web 開発プロジェクトです。どうもありがとう。
java - GlassFish で jdbcRealm を構成するためのテーブル命名規則
「ユーザー」と「グループ」以外の命名規則を持つ既存のテーブルを使用して、GlassFishV3 で jdbcRealm を構成しようとしています。テーブルがこのように命名されていない限り、レルムは機能していないように見えます。私の質問は、なぜ制限があるのですか?既存のテーブルの名前を変更する以外に回避策はありますか?
security - ジャージー クライアントを使用したセキュアな RESTful Web サービスへのアクセス
Jersey (Netbeans 経由で自動生成) に基づいて Web サービスを作成しました。
また、ユーザー名「testClient」とパスワード「secret」を作成し、ユーザー グループ「Users」を作成し、glassfish 3.0.1 管理コンソールを使用してファイル Realm を使用しました。
それに応じて、web.xml と sun-web.xml もマップしました。
私の Web サービスは安全に保護されています。Web サイトにアクセスすると、セキュリティ警告が表示され、Web サイトのコンテンツにアクセスするためのユーザー名とパスワードを入力するよう求められます。Webブラウザからアクセスすると正常に動作します。
jersey に基づいた単純なクライアントを作成し、最初のプロジェクトが提供する Web サービスにアクセスしようとしました。クライアントコードはこちら
自動生成されたジャージー クライアント コード
Main メソッドのコード。自動生成コードを使用
結果:
また、これらは異なるサーバーで実行されている 2 つの異なるプロジェクトであり、どちらも Glassfish 3.0.1 であることをお知らせしたいと思います。また、クライアントとサービスを同じサーバーで実行しようとしましたが、すべて無駄でした。ハマった; 親切に私を助けてください。
乾杯!
java - Glassfish Security - jdbcRealm: SHA-256 ダイジェストでログインを構成する方法
私はグラスフィッシュ v3.0.1 b22 でセキュリティのために jdbcRealm を使用しています。このブログに従って、データベース内の USER テーブルを認証に使用するように設定されています: http://blogs.oracle.com/foo/entry/mort_learns_jdbc_realm_authentication. ダイジェスト アルゴリズムをプレーン テキストのままにしておくと、問題なく動作します。ただし、ダイジェスト アルゴリズムに SHA-256 を使用しようとすると、機能しなくなります。私がしたことは、Glassfish - Security - Realm - jdbcRealm - SHA-256 が必要であることを指定することです (ダイジェスト フィールド内に SHA-256 を入力するだけです)。次に、パスワード テキストを SHA-256 ハッシュに変換する簡単な Java プログラムを作成しました。次に、そのハッシュをデータベースのパスワード フィールドに貼り付けます。ちなみに、パスワードフィールドは varchar(30) 型です。もうログインできません。私の単純な Java プログラムが、同じテキスト フィールドに対して毎回異なるハッシュを生成していることに気付きました。
以下は私の単純な Java プログラムです。
security - 複数の JAAS セキュリティ レルムを持つ Java アプリケーション
複数の JAAS セキュリティ レルムを持つ Java EE アプリケーションを作成できるかどうか疑問に思っていました。私は現在、一部のユーザーがデータベースに保存されたデータで認証される必要があるアプリケーションを開発していますが、他のユーザーは LDAP バインドを介して認証される必要があります。
そこで、glassfish 3.1 で JDBC レルムと LDAP レルムの 2 つのセキュリティ レルムを作成し、LDAP レルムを使用するように web.xml を構成しました (ほとんどのユーザーは LDAP です)。
次に使用します:
ユーザーを認証する
「request.login」を呼び出す前に JDBC レルムに切り替えることは可能ですか?
前もって感謝します
java - カスタム領域を持つ Web アプリケーションを Tomcat 6 にデプロイした後の HTTP ステータス 404
Tomcat 6 用の Web アプリケーションを開発していますが、解決方法がわからない問題に直面しています。次の小さなシナリオを考えてみましょう。ユーザーとパスワードだけでなくユーザーを認証する必要があると想像してください。認証は、いくつかの追加条件 (ユーザー、パスワード、および IP アドレスの一致など) が真の場合にのみ許可されます。私が理解している限り、Tomcat はレルムの概念を導入しました。JDBCRealm
ユーザーとパスワードのペアは今までしかチェックされていなかったため、アプリケーションには単純なもので十分でした。ここで、IP アドレスも確認する必要があります。クラスを拡張する簡単なテスト クラスを作成しましたJDBCRealm
。
そして、次を使用してこのレルムクラスをバインドしようとしましたcontext.xml
:
Web アプリケーションのデプロイは成功しますが、ログイン ページにアクセスしようとすると、Tomcat から 404 ページが返されます (問題の原因はノードのclassName
属性にあると思われます)。Realm
HTTP Status 404 -
type Status report
message
description The requested resource () is not available.
Apache Tomcat/6.0.24
JDBCRealm
でカスタム子孫をバインドするにはどうすればよいcontext.xml
ですか? これに を使用しようとしているのは完全に間違っているのかもしれませんJDBCRealm
が、とにかく正しい解決策がわかりません。
前もって感謝します。