問題タブ [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.
icefaces - マネージドBeanでj_security_checkにリダイレクトする方法は?
ベースのFORM認証プロジェクトを正常に実行し、icefacesプロジェクトで同じことをしようとしました。言い換えれば、フォームの代わりに ice:form を使用したいので、マネージド Bean でログイン要求を j_security_check にリダイレクトできるかどうか疑問に思っていました。
そして私のログインページで:
しかし、私はそれを行う方法を本当に知りません.j_security_checkとそれが実際にどのように機能するかについてのドキュメントは実際には見つかりません.
internet-explorer - IE で動作しない jsf アプリの j_security_check
Tomcat 6.0.13で開発された単純なjsfアプリがあります。web.xml に通常の設定を追加することで、アプリケーション全体にいくつかのセキュリティ制約を追加しました。
アプリケーションをTomcatにデプロイして確認すると、Firefoxでまったく問題なく動作し、Login.htmlがレンダリングされ(以下のコード)、承認されると関連するページに移動します。IE で同じアプリに移動すると、以下のようなログイン プロンプトが表示されますが、[送信] ボタンをクリックしても何も起こりません。サーバーはクライアントブラウザーから応答を取得していないように見えるため (エラーやログがないなど)、サーバーにポストバックしないようにそこにとどまります。
私は何を間違っていますか?
ありがとう
java - JDBCRealmを使用してログインユーザーのユーザー名を取得するにはどうすればよいですか?
Glassfish 3.0を実行していて、ログイン認証用にJDBCRealmを実装しています。ユーザー名とロールは、usertableというテーブルに保存されます。認証は期待どおりに機能しています。
しかし、問題はユーザーがログインしたときに、アプリケーションでログインしたユーザーのユーザー名を取得するにはどうすればよいですか?
PS:JSFページとマネージドBeanを実装しています
java - IE 8 での送信時に webapp のログイン フォームが際限なく更新されるが、Firefox では正常に動作する
j_security_check
送信時にユーザー資格情報を実行する単純なユーザー名/パスワードフォームがありLDAP
ます。
不適切な資格情報は両方のブラウザーで期待どおりに動作しますが、フォームに正しい資格情報を指定して [送信] をクリックすると、FF は期待どおりに動作しますが、IE は空白のページを際限なく更新し続けます。
これがコードの問題なのかブラウザの問題なのかわかりません。
java - j_security_check が使用する元の要求ページを変更するには?
認証されていないユーザーがリソースを要求すると、ログイン ページにリダイレクトされますがj_security_check
、元の要求されたリソースは保持されます。ユーザーが正常にログインすると、そのリソースにリダイレクトされます。
問題は、要求されたリソースが動的であるため、存在しない場合があることです。私のアプリケーションにはこの動作をする場所がたくさんあるので、各「リソース ハンドラー」(コントローラー) でこれを検証する代わりにj_security_check
、ログイン ページへの転送をインターセプトするフィルターでこのすべてのロジックを一元化しようとしています。
では、フォームベースの認証メカニズムによって保持されている元の要求されたリソースを取得するにはどうすればよいでしょうか? ベンダー依存ですか?
別の方法:
URL を変更する前にフィルターを実行できればj_security_check
、「有効な URL」を使用してユーザーにリダイレクトを送信できます。しかし、前にフィルターを実行するにはどうすればよいj_security_check
ですか?
tomcat - JMeterを使用してTomcatでフォーム認証をシミュレートするにはどうすればよいですか?
私は JMeter を初めて使用しますが、JMeter を何に使用できるかについていくつかのアイデアがあります。また、フォーム認証が有効になっているTomcatアプリケーションもあります。私が使用しようとしているスレッドは、次のもので構成されています。
- HTTP リクエストのデフォルト
- HTTP Cookie マネージャー
- HTTP ヘッダー マネージャー
および次の HTTP サンプラーのセット:
- ログアウトページ (
/app/logout.jsp
) - ログインページ (
/app/login.jsp
) - j_security_check (/
app/j_security_check
)
ここで、[リダイレクトに従う] と [キープアライブを使用] が有効になっています。j_security_check リクエストの応答が にリダイレクトされる理由がわかりませんlogout.jsp
。Chrome で HTTP 応答を確認したところ、このような要求は index.jsp にリダイレクトされますが、認証情報が正常であればログアウト ページにはリダイレクトされないことがわかりました。まず、すべてのブラウザー HTTP ヘッダーを模倣したわけではないという考えがありましたが、それらすべてを HTTP ヘッダー マネージャーに追加した後に失敗しました。
しかし、それらすべてを指定した後でも、認証をシミュレートできません...何かアイデアはありますか? 前もって感謝します。
jakarta-ee - j_security_checkによるログイン後の操作
Glassfish3.1で実行されるj2eeアプリケーションでフォームベースの認証とj_security_checkを使用しています。問題は、ログインが成功したときに、認証されたユーザーに関連するいくつかのデータを更新する必要があることです。j_security_checkが実行を終了した後にログイン後の操作を行う方法は?ありがとう。
jsf - 別のユーザーでログインしても、CDISessionScopedBeanインスタンスは変更されません。
私はこの問題の回避策をかなり長い間探していましたが、結果が得られなかったので、ここで質問します。
簡単に言うと、プロジェクトでCDI SessionScoped Beanを使用して、User
ユーザー情報を管理し、jsfページに表示しています。また、コンテナ管理j_security_check
は認証の問題を解決するために使用されます。
session.invalidate()
最初にログアウトしてから、別のユーザーで同じブラウザタブにログインすれば、すべて問題ありません。しかし、login.jsf
事前にログアウトせずに新しいユーザーで直接ログイン(を介して)しようとすると、ユーザー情報が変更されていないことがわかりました。
デバッグしたところ、同じブラウザで別のユーザーにログインしても、呼び出されない限り、 User
Beanとインスタンスは常に同じままであることがわかりました。しかし奇妙なことに、セッションIDが変更され、JavaコードとFirebugの両方をチェックインしました。HttpSession
session.invalidate()
上記のブロックには、2つの連続したログインとそのSession
情報が含まれています。インスタンス(1行目)は同じですが、セッションID(2行目)は異なります。セッションオブジェクトは異なるセッションIDを含むために再利用され、CDIフレームワークはセッションオブジェクトのみ(?)に従ってセッションBeanのライフサイクルを管理しているようです。
無効にしない限り、同じブラウザ内にサーバー側のセッションオブジェクトが1つしかないのではないかと思います。
私はそれを採用しているのでj_security_check
、それを傍受して古いセッションを無効にするのはそれほど簡単ではありません。それで、同じブラウザ内の同じまたは異なるタブで異なるアカウントで再ログインできるCDI + JSF + j_security_checkの設計を変更せずに、目標を達成することは可能ですか?
ご返信を心よりお待ちしております。
詳細:Glassfishv3.1は私のappserverです。
java - j_security_check に追加パラメーターを渡す
私たちのアプリケーションでは、フォームベースの認証でログインするときにユーザーが目的のデータソースを選択できるようにする必要がありますが、標準のフォームベースの認証を使用するときにそれが可能かどうかはわかりません。TextInputCallback を使用して可能だと聞きましたが、それを実装する方法 (および場所) がわかりません。
java - web.xml ではなく Server.xml で Realm 設定が必要な理由
私はしばらくJavaアプリケーションに取り組んでいます。私は主に .NET プラットフォームに取り組んでいます。これら 2 つのプラットフォーム間で多くの概念が共通しているように感じますが、構成に関連するいくつかの問題が見つかった領域はほとんどありません。
私は認証と承認に取り組んでおり、JAVA の .NET のメンバーシップ API に似たものが得られると考えました。私が得た最も近いものは、j_security_checkを使用していました。JAAS についても知りましたが、深く入り込むには深すぎると思います。
データベースにユーザー テーブルとロール テーブルを作成したので、JDBC レルムの設定をどこかに指定する必要があります。Tomcat 7.0 を使用しています。ほとんどの場所で、server.xml でレルム設定を指定する必要があると述べられていますが、それはサーバー レベルの構成になるため、そのサーバーにデプロイされたすべての Web アプリケーションに適用されるのではないでしょうか?
あるサイトでは、開発者が context.xml について言及しているのを見たことがありますが、この XML ファイルを使用して JDBC レルムを設定することについて言及している標準ドキュメントは見当たりません。
.NET では、Membership 設定は常に Machine.config ではなく web.config レベルに配置されます。
これについて完全に混乱しています。これについていくつかの光を探しています。