問題タブ [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.
java - javax.security.auth.login.LoginException:セキュリティ例外
GlassFishv3.1.2とJSF2.1およびprimeFaces3.4.2を使用してコンテナマネージドセキュリティを設定しようとしています。
値HexValueとデータベースは一致しますが、次の例外が発生します
Base64エンコーダーを試しましたが、同じ結果になりました。計算された値とパスワードは問題ありません。他に見逃したものがあります...glassfishまたはlogin.xhtmlファイルでespを見逃している他の設定はありますか
ユーザー名:admin1パス:admin
次のSHAConverter.javaを使用
これがGlassfishrealmSettingsです
私のlogin.xhtml
私のweb.xml
私のglassfish-web.xml
この投稿フォームを使用しましたが、これには計算の不一致がありましたが、私の問題は計算とは異なるようです
jsp - JavaEEフォーム認証でログインした後のユーザー詳細へのアクセス
ユーザーが保護されたリソースにアクセスしようとすると、login.jspにリダイレクトするJavaEEセキュリティレルムを実装しました。
- ユーザーが保護されたURLに移動したいとします-
http://mywebapp/shopping_cart
これはShoppingCartServletにマップされています - 彼らはログインしていないので、Glassfishはlogin.jspにそれらを指示します
- 次に、ユーザー名とパスワードを入力して[ログイン]をクリックすると、情報がPOSTされます。
http://mywebapp/j_security_check
- 正しい詳細を入力すると、URLを処理するサーブレットにリダイレクトされます
http://mywebapp/shopping_cart
ここで、データベースからユーザーの詳細を取得したいのですが、リダイレクト要求にパラメーターがない場合はどうすればよいですか?
それらのユーザー名はに送信されましhttp://mywebapp/j_security_check
たが、j_security_checkが行うリダイレクト要求にはパラメーターがありませんhttp://mywebapp/shopping_cart
。では、ユーザーがログインした後、ユーザーの詳細にアクセスするためにどのような方法が使用されますか?
java - glassfish 3.1.2.2 JDBC セキュリティ REALM の CORBA.NO_PERMISSION
これを修正するのを手伝ってください...私は何が間違っていますか?
DB Oracle 10g XEでユーザーを作成するCreateJDBCRealmUserクラス
HelloClient - Java アプリ クライアント
HelloRemote - クライアント側の EJB へのリモート インターフェース。サーバー側にも同じリモート インターフェースが存在します。
Hello - HelloRemote の実装です
auth.conf - 設定ファイル
SQL DDL
最後に GF 3.1.2.2 JDBC REALM 構成
sun-ejb-jar.xml
tomcat - Tomcat REALM が認証されない場合がある
JDBC を使用した認証に Tomcat 7 と Realm を使用しています。独自の実装を使用するように DataSourceRealm を拡張しました。私の問題は、場合によっては、Tomcat REALM が DataSourceRealm のメソッドを呼び出さず、最初から認証に失敗するように見えることです。これは通常、ユーザーが認証されている間に DB でパスワードを変更したときに発生します。ユーザーを無効にして再度ログインしようとした後、使用しようとしているパスワードに関係なく、Tomcat でログインできません。これを修正するには、Tomcat を再起動するだけです。
DataSourceRealm クラス (拡張クラス) にブレークポイントを設定すると、通常は tomcat が認証メソッドを呼び出しますが、特別なケースでは TC は DataSourceRealm で何も呼び出しません。どうしてこれなの?ある種のキャッシングはありますか?これについては何も文書化されていません。
もう 1 つ: ユーザー名の文字を大文字に変更すると、多くの場合うまくいきます。そのため、aDmin としてログインできますが、admin としてログインすることはできません (aDmin を使用すると、期待どおりに DataSourceRealm が呼び出されます)。これにより、ユーザーが何らかの形でキャッシュされていると確信できます。
java - JDBC レルム認証は単一のテーブルで機能するべきではありませんか?
Glassfish 3.1 で非常に基本的な JDBC レルム認証を設定しようとしています。アプリケーションは、1 つのビジネス メソッドを持つ EJB と、リモート クライアント アプリケーション (Web アプリケーションではない) で構成されます。ここで何か基本的なことが欠けていると思います。
Java EE 6 チュートリアルに従い、すべての手順を完了しました。エラーは発生しませんが、ユーザー名とパスワードが正しいものとして受け入れられません。ユーザーとグループを格納するために単一のテーブルを使用しようとしているため、認証に使用されるテーブルの構造に問題がある可能性があると思います。(私よりも知識のある人による別の投稿で、これが可能であることが言及されており、公式のチュートリアルでも単一のテーブルが使用されています。すべてのユーザーは 1 つのグループ (「ユーザー」) に属するため、 2 番目のテーブルです。アプリはできるだけシンプルに保ちたいと考えています。)
1 つのテーブル ('ACCOUNTS') を持つデータベース ('auth') があります。これには 3 つのフィールドがあります。主キーである 'NAME'、'PASSWORD' および 'GROUPS' です。テーブルに制約はありません。
ユーザーを追加しました:
私の glassfish-application.xml には、ロール マッピングとレルムが指定されています。
レルム設定: (Glassfish スクリーンショット)
豆:
JDBC 接続プールとリソースも作成されます。
リモート クライアントから Bean を呼び出すと、ログイン プロンプトが表示されます。名前とパスワードを入力すると、SecurityException が発生します。
この後、名前/パスワードが間違っている場合と同様に、再度ログイン ウィンドウが表示されます。レルムを使用すると、file
完全に機能しますが、jdbc レルムでは機能しません。
テーブルは別のものにする必要がありますか?(複数のテーブルを使用する必要がありますか?) それとも何か間違っていますか? 前もって感謝します!
tomcat - OpenShift、Tomcat7、および JDBC レルム
JavaEE Tomcat7 ベースのアプリケーションを OpenShift にデプロイしようとしています。全体の構成は、Tomcat 7 (JBoss EWS 2.0) カートリッジに基づいています。これまで、アプリケーションをローカルで開発していましたが、JDBCRealm ベースのユーザー認証を含め、すべて正常に機能していました。
プロジェクト仕様、投稿の最後に添付された pom.xml :
- 完全にMavenベース
- アーティファクトorg.apache.tomcat.mavenを介して使用される tomcat
しかし、今はアプリを Web で利用できるようにする必要があるため、Tomcat7 アプリケーション (これも Maven ベース) を作成した OpenShift に移動することにしました。デプロイは成功しましたが、現在、ローカルで動作する JDBCRealm に問題があります。問題は、Tomcat がレルム接続を開くための MySQL ドライバーを見つけられないことです。context.xml を指定し、mysql 依存関係を追加することで、 org.apache.tomcat.mavenでこの問題を解決しました。ただし、依存関係を注入するオプションがないように見えるmaven-war-plugin 。だから私はこのようなエラーで立ち往生しています:
そして、このようなpom.xmlは、仕事をしません:
そしてもちろん、検出されたように見える私の context.xml と tomcat はそこから構成を読み取ろうとしますが、mysql ドライバーが見つからないため、SQLException で失敗します。
java - REST Webサービスを保護するJDBCRealmを使用していますか?
ここでRESTサービスを保護する方法について非常に素晴らしい回答を読みましたが、それらはすべて純粋な理論に過ぎず、あまり役に立ちませんでした。REST を使用する場合、JDBCRealm-FORM 認証をどのように実装しますか?
ログインフォーム
web.xml
質問:
1) Glassfish で JDBCRealm を作成しましたが、動作しています。別のjsf-appでテストしました。クライアントRESTサービスの場合、例えばそれは何ですか:<url-pattern>/protected/*</url-pattern>
通常、保護されたjsp/jsf/xhtmlなどのページがある「フォルダー」を指しますが、今はどこですか?
2) セッションはどうですか? ステートレスコンテキストでセッションを使用することは不可能だと思います
3) REST で FORM ベースの認証を使用することは可能ですか?
4)私よりも賢い人がクライアントとサーバーの残りのアプリケーションを保護する方法を説明するチュートリアルへのリンク。
jakarta-ee - カスタム Java EE レルムでログイン
Glassfish と netbeans を使用して Java EE アプリケーションを作成しました。hereからカスタムの柔軟な jdbc Realm をインストールしました。すべての指示に従い、以下に示すプロパティを使用しました(デフォルトとサーバー構成の両方)
私の最初の質問は、default-config または server-config のどこにレルムを作成する必要があるかということです。
また、テーブルを使用してデータベース(E-Health)を作成しました:ユーザー、グループ
このレルムを使用したい理由は、salt でパスワードを暗号化したいからであり、jdbc レルムではこのオプションがありません!
私の問題は、ログインできないことです。
私は net Beans IDE を使用して、login および loginError ページを作成しました。
ログイン.JSP :
サーブレットで次のコードを使用してユーザーを作成しました。
私が作成したグループと役割は、医師、薬局、マイクロ、患者、管理者です。
web.xml と glassfish-web.xml でロールを作成しました。
Web.XML
GLASSFISH-WEB.XML
まず、サーブレットでこの注釈を作成しました。
資格情報は次のとおりです。
ユーザー名:John パスワード(ソルト付き) :kwkBo2sKjPHPvqFTQReMGS8Cbj8PbAoFxvuk ソルト:4b8mHanRWrI9HitaES4s8x5F05WWFz3IN3+Hjp7XtRg=
と
ユーザー名: John グループ名: 医師
暗号化されたパスワードは次のとおりです: 12345
私は何を間違えましたか?
資格情報をフォームに入力しました: John/12345 とエラー ページが表示されます。
パスワードを何らかの方法で復号化する必要がありますか? これはレルム自体で機能しませんか?