問題タブ [j-security-check]
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 - jセキュリティチェックでmd5とsaltを使用する
現在、jセキュリティチェックとmd5を使用してjspページを認証しています。パスワードをデータベースに保存する前に、パスワードをソルトしたいと思います。学校でのアクセスが制限されているため、塩を注入するトリガーを作成する権利がありません。これを行う他の方法はありますか?
これが私の領域です:
authentication - j_security_check への Websphere 事前ログイン
私は j_security_check で Websphere を使用しており、CONFIDENTIAL および SSL 設定でログイン フィルターが機能しています。複雑な要件があるため、j_security_check を実行する前に j_username 変数を処理する必要があります。
ここで見つかった回答の 1 つから、このログイン前処理は実行できないとのことでした。ただし、前の質問者は Tomcat を使用していましたが、私は Websphere を使用していました。ここに私の問題の解決策があることがわかりましたが、ログインしようとするたびに、「ウェブサイトはページを表示できません。ウェブサイトにはプログラミング エラーがあります。」というメッセージが表示されるようです。
構文が正しいかどうかを確認して、トラブルシューティングを試みました。のようないくつかの矛盾を見つけて、できる限り修正しました。ただし、引き続き同じエラーが発生します。
誰かが私を正しい方向に投げることができますか? 詳細情報を提供できますが、それらはほとんど 2 番目のリンクに似ています。唯一の保護されたフォルダーは \protected\ にあり、.java サーブレットは \WEB-INF\classes にあります。
ありがとうございました。
jakarta-ee - j_security_check認証の後に別のWeb認証メカニズムを続けることはできますか?
私のWebアプリでは、フォームベースのログインを使用しています。login-config.xmlに設定されたテーブルのデータに加えて、別のデータベースに存在するユーザーを検証する必要があるシナリオがあります。
だから、私はこの流れを考えていました:
ユーザーはセキュリティで保護されたリソースにアクセスしようとします->アクティブなセッションがない場合はログインフォームにリダイレクトされます->ユーザーは自分の資格情報を入力します->j_security_checkはlogin-config.xmlに従って認証します->認証が成功した場合は正常に、そうでない場合はリダイレクトしますjspエラーページ。ユーザーが他のDBに存在するかどうかを確認し(具体的にはActive Directory。資格情報を検証するためのコードが既にあります)、成功時にセッションを作成します->それ以外の場合はエラーページにリダイレクトします
上で太字で強調表示されている部分は可能ですか?
いくつかの記事を読んだことがありますが、j_security_checkに認証が与えられると、それを覆す方法はありません。それは本当ですか?
この問題に対する他の可能な解決策はありますか(login-config.xmlで指定されたテーブルに他のデータベースからユーザーを追加したり、login-config.xmlを変更したりすることは別として)??
(私はJbossを使用しています)
ありがとう。
jsf - JSF認証:エラーメッセージを傍受できません
JSF+PrimeFacesページで使用する簡単なログインフォームを開発しました。
空のパスワードで試行しましたが、欠落しているパスワード(必須)がh:message
コンポーネントによって検出されません。また、ボタンのAjaxの動作に問題がある可能性があるという考えに切り替えましたp:commandButton
が、PrimeFacesがCommandButtonがフォーム要素内にないことについて不平を言っているため、ページはレンダリングされません。コンテナによってスローされる例外は次のとおりです。
要約すると、2つの質問があります。
- フォームが送信される前に、パスワードが見つからないためにメッセージが生成されないのはなぜですか?
- LoginExceptionをキャッチして、ダイアログ内にエラーメッセージを表示するにはどうすればよいですか?
jakarta-ee - JBOSS から Websphere への j_security_check の移植
Struts Web プロジェクトに使用j_security_check
しており、jboss にデプロイしています。
私のweb.xml
私はロールを定義し、アプリケーションの名前であるjar名をtestuser
含むjarファイルを作成しました。users.properties
roles.properties
TestUserInfo.jar
Test
私のweb.xml
:
users.properties
ファイルにはusername=password
名前と値のペアroles.properties
がありusername=role
、(私の場合はuser=testuser
)名前と値のペアがあります。
users.properties
アプリケーションが JBoss にデプロイされている場合、ファイルにあるユーザー名とパスワードを使用してログインできます。TestUserInfo.jar
の下に保持されjboss-5.1.0.GA\jboss-5.1.0.GA\server\default\lib
ます。
同じことを実装するために websphere で何をしなければなりませんか?
jsf - j_security_checkがウェルカムページにリダイレクトされない-ログインイベントリスナーが成功しましたか?
何年もの間、ログイン後にアプリケーションのウェルカムページに移動しないことがある理由に戸惑いました。私はついにそれを理解しました(他のみんなから数年後):
j_security_checkで正常にログインし、ウェルカムページに移動します
セッションタイムアウトを待つ
GETリクエストを送信するh:linkをクリックします
これはGETであり、POSTではないため、カスタムViewExpiredException
ハンドラーは起動しません
セッションがタイムアウトしたため、コンテナセキュリティはログインページにリダイレクトします。セッションタイムアウト+コンテナセキュリティのため、(h:linkからの)getリクエストは、フェーズリスナーまたはフィルターのいずれかでアプリケーションに表示されません。再度ログインに成功しました
j_security_checkは、
認証をトリガーしたページ(この場合はGETリクエストのターゲット)にリダイレクトします。
私が理解していなかった最後のビットは、それが常にウェルカムページに行くだろうと思いました。
私の問題は、現在の設計では、ログイン後に常にウェルカムページを表示する必要があることです。ウェルカムページにはpreRenderViewイベントがあり、ログイン後にセッションスコープのBeanにコンテキスト情報を設定し、いくつかのカウンターなどをインクリメントします。
このコンテキスト情報は、他のページのBeanコードをサポートするために必要です。現在、最初にウェルカムページを通過しないと、例外が発生します。
それを修正するという点で、私は次のオプションを見てきました:
理想的には、呼び出すことができる@PostLoginメソッドがあり、それによって私のすべての問題がきれいに解決されます。Myfaces CODIでJSF(Mojarra)を使用していますが、希望どおりの動作をするものが見つかりません。
フィルタにコードを追加することもできますが、データ(ログイン数など)を保持する必要があります。これは適切なオプションのようには見えません。たぶん私は間違っています。
j_security_checkの潜在的なターゲット(GETで呼び出されるページ)のすべてのpreRenderViewメソッドが、j_seecurity_checkから直接呼び出される場合を処理するようにします。これが私がしなければならないことであることがわかりますが、それは多くの面倒のようです。
j_security_checkの動作をオーバーライドするために、glassfish用のサーバー認証モジュールを作成します。
これは通常どのように処理されますか?何年にもわたってPOSTを悪用した後、単純なナビゲーションケースのGETに移行した後、この問題が発生し始めました。カスタム例外ハンドラーが機能しません。誰かがこの問題について何かガイダンスを持っているなら、私はそれを感謝します、少なくとも私は今何が起こっているのか知っています。うまくいけば、私は明らかな何かを逃しました!
ありがとうO/S
weblogic - Weblogicとj_security_checkはどこから始めますか?
私はWeblogicとj_security_checkにまったく慣れていません。過去数日間の私の読書では、サーバー上の通話保護されたデータの操作の順序と、それがj_security_checkにルーティングされる方法だけが表示されます。(例:j_security_checkリダイレクト)
私が理解しようとしているのは、ユーザー名とパスワードを何に対してチェックするかをサーバーに指示する構成がどこにあるかということです。
ユーザー名/パスワードを渡すフォームがサーバーに送信されると、どのコードが実行されますか?ソースは私が見ることができますか?値をどこでチェックするのかをどうやって知るのですか?
私はプロジェクトに参加しており、以前のすべての開発者が急増したため、NOBODYはWeblogicの使用方法を知っています。
web.xmlファイルとweblogic.xmlファイルには、データベースへのマッピングがどのように存在するかを明らかにするものは何もありません。システムは、ユーザー名とパスワードのフィールドをチェックするデータベースまたはデータベースの列をどのように認識しますか?
Weblogicポータルを見ると、「DefaultAuthenticator、DefaultIdentityAsserter、およびOpenLDAPAuthenitcator」が表示されますが、サブレベルのページには、フィールドがどのように処理および検証されているかを示すものはありません。
何を探す必要がありますか、間違った場所を探していますか、このWeblogicおよびj_security_checkプロセス全体で何が起こっているのかを理解するためにどのようなタイムラインを費やす必要がありますか?
このトピックを進める方法についての提案は大歓迎です。
mod-rewrite - Glassfish3.1.2-クラスターを作成してアプリj_security_checkループをデプロイした後
私はついにアプリをapache/mod_jk負荷分散を前にした2インスタンスのシングルノードテストクラスターにデプロイしました。
非クラスター化環境では、JDBCRealmでコンテナー・セキュリティーを長年使用しており、確実に機能します。
クラスタ環境では、ブラウザにログインページが表示され、有効なユーザー名とパスワードを入力して送信ボタンをクリックすると、j_security_checkによって応答ヘッダーの場所ページがウェルカムファイルではなくログインページとして設定されます。ちょうど今行っていたログインページに進みます。
MySQLの一般的なクエリログを有効にしましたが、パスワードとグループ名が適切なユーザーの適切なテーブルから読み取られていることがわかります。
javax.enterprise.system.core.security.level = FINESTを設定しようとしましたが、サーバーログに出力がありません。
同じアプリをクラスターではなくローカルサーバーにデプロイすると、localhost:8080/にアクセスしてログインできます。「localhost」と入力してロードバランサーを実行すると、機能しません。
j_security_checkは認証をトリガーしたページ(おそらくここで何が起こっているのか)に転送できることを知っていますが、「認証をトリガーしたページ」がない場合、いつウェルカムファイルに転送しますか?編集:今わかりましたが、常にリファラーにリダイレクトされます。この場合はコンテキストルートです。コンテナには、実際に表示されるページを決定するいくつかのルールが必要です。私のクラスターの例では、web.xmlのwelcomeファイルではありません。
また、クラスター構成で認証レルムを設定します。
2つの環境で考えられる唯一の違いは、クラスターのセットアップに、http-> https(httpd.conf)から先に進むmod_rewriteルールがあることです。
編集:Chrome開発ツールのネットワークトレースの下に追加
/ MyAppとしてデプロイされた作業シナリオ:
ルートとしてデプロイされた動作しないシナリオ(クラスター)/:
無効なログイン資格情報を入力すると、どちらの場合もフォームエラーページに正常にリダイレクトされます。
誰か提案がありますか?私はそれを見ていません。ありがとう。
ps私はブラウザのキャッシュをきれいに試しましたが、助けにはなりません!
更新:問題は、clustered / mod_jk環境で、j_security_checkからのポストバックに新しいセッションIDを持つSet-Cookieがあるため、次のリクエストが別のセッションで着信することです。これはスティッキーセッションと関係があるようですが、それを修正する方法がまだわかりません。ロードバランサーのsticky_sessionsをtrueとfalseに設定しようとしましたが、どちらも役に立ちません。
jvmRouteは、両方のインスタンスに対してワーカーに設定されます。
apache - ユーザーがすでにログインしている場合、j_security_checkは使用できません
Apache Tomcatバージョン:6.0.20
ユーザーがすでにログインしていて、ログインページから再度ログインしようとすると、j_security_check isnotavailableエラーが発生します。それは正常な動作ですか、それとも私は何かをしなければなりませんか?
実際、私はさまざまなページにアクセスするためのさまざまなユーザーロールを持っており、特定のユーザーがページへのアクセスを拒否された場合、ユーザーをログインページにリダイレクトして、対応する資格情報でログインできるようにします。
spring - spring_security_checkを使用してj_usernameにアクセスすることはできません
spring_security_checkを使用してログインページを作成しました。
ここ:
しかし、後でj_usernameにアクセスできなくなります。
試しました:
* request.getParameter( "j_username")
* request.getAttribute( "j_username")
* request.getAttribute( "j_username")
* request.getUserPrincipal()。getName()
* request.getRemoteUser()
すべてからそれらのうち、私が得ているのはnullだけです!
何をすべきか考えていますか?