問題タブ [jaspic]
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.
jakarta-ee - Tomcat-Jaas-件名を取得する方法は?
私はJAASを研究しており、TomcatとJaasRealmを使用してWebアプリで使用する簡単な例を実装しています。
Subject subject = Subject.getSubject(AccessController.getContext());
今私の問題は、のようなコードが常にnullを返すため、件名を取得する方法がわからないことです。
Tomcat7.0.27を使用しています。私が見逃したものはありますか?言い換えると、JAASを使用してJava EEで承認を管理するにはどうすればよいですか?たとえば、JAASの安全なコンテキスト内でアクションを実装するにはどうすればよいですか?
java - JSF でのフォームベース認証
JSF/Primefaces アプリケーションに単純な認証を実装したいと考えています。私はさまざまなことを試しました。たとえば、Dialog - Login Demoはダイアログで簡単なテストを行いますが、ユーザーをログインさせませんか?
次のようなJavaセキュリティも調べました。
これにより、 /protected の下にあるすべてが保護されますが、私が理解している限り、認証のためにサーバーにレルムを定義する必要があります。サーバーでこれを指定したくありませんが、データベースで単純なルックアップを行うだけです。
アプリケーションサーバーで何かを定義せずにユーザーを認証する方法はありますか? または、さまざまなページを認証して保護するための別の簡単なソリューションはありますか?
java - JettyでJASPI/JASPICを使用するにはどうすればよいですか?
Jettyのメインプロジェクトページには、JASPI(JASPIC / JSR 196)との互換性が記載されています。
ただし、Jetty 8のディストリビューションには、JASPIに関連するクラスが含まれていないようです。[jetty home] / libにjarがありjetty-security-8.1.8.v20121106.jar
ますが、これにはJASPIC/JASPIタイプは含まれていません。
JettywikiのJASPIC/JAVIPに関するドキュメントは単なるプレースホルダーであり、情報は含まれていません。
グーグルをした後、EclipseサイトでJavaDocsを見つけ、どこかにjetty-jaspi-8.1.8.v20121106.jar があるはずだと わかりました。これらのJavaDocもディストリビューションに含まれています。最後に、jetty-jaspiレポがGithubに表示されます。
明らかに、ある程度のサポートが利用可能ですが、なぜそれらのクラスがJettyディストリビューションに存在しないように見えるのでしょうか。また、これを構成する方法に関するドキュメントはどこにありますか?私は何が欠けていますか?
weblogic - Jaspic/JSR196 モジュールを使用した weblogic でのセッションの無効化
webapp によってプログラムで登録された Jaspic/JSR196 モジュールを使用して、jsf Web アプリケーションを開発しました。
これを実現するために、次のブログの指示に従いました: http://arjan-tijms.blogspot.pt/
このソリューションは、ユーザーの認証に問題なく機能します。ユーザー名とパスワードを受け取り、request.authenticate メソッドを呼び出す Bean があります。要求はサーバー認証モジュール (SAM) で検証され、ユーザーは認証されます。
問題は、webapp での移動中にセッションが無効になることが多く、ユーザーがログイン ページにリダイレクトされることです。SAM モジュールの実装は、保護されたリソースへのアクセス中に request.getUserPrincipal が null を返すと、ユーザーをログイン ページにリダイレクトします。この動作のパターンは見つかりませんでした。
ログを分析しているときに、いくつかの例外がスローされることがわかりました: (これらの例外が Web ページに表示される場合があります)。
HttpSession が無効です
セッションの無効化が別のスレッドで進行中です
応答はすでにコミットされています
次のログ エントリは、有効なセッションが見つからないため、ユーザーがログイン ページにリダイレクトされることを示しています。
コンテナーが Http セッションを無効にしているようです。しかし、私たちはその理由を理解できません。何か助けはありますか?
security - JavaEE6アプリのさまざまなログイン方法
私は現在、JSF(フロントエンド)とJPA、EJB、およびCDI(バックエンド)を使用して「基本的な」JavaEE6アプリケーションを開発しています。これまでのところ、すべてがうまく機能しています。
ログイン部分には、JDBC-Realmとともにフォームベースの認証を選択しました。
今、私はモバイルデバイスによって消費されるいくつかのRESTサービス(Jersey)を提供するのが好きです。したがって、認証するための2番目の方法を追加する必要があります。しかし、私の理解では、一度に1つしか存在できません。
すでにいくつかのPoCを試しましたが、有効なユーザーを必要とするRESTサービスを呼び出すたびに、サービスはログインページにリダイレクトされました。
この種の問題を処理するためのベストプラクティスはありますか?
リクエストごとにユーザー/パスまたはセッションIDを送信したくないので、現在のログインメカニズムにOauthを追加することは可能ですか?ある種のトークンは素晴らしいでしょう。
java - Java EE 7 フォームベースの認証
私は現在、Java EE 7、PostgreSQL、およびアプリケーション サーバー GlassFish 4 に基づく Web アプリケーションに取り組んでいます。フォーム ベースの認証を実装し、次のことを知っている URL を保護する必要があります。
- ユーザーと役割/グループ (名前は何でも) はデータベースに保存されます。
- アプリケーションを可能な限り「標準」にしたかった (つまり、現在 JSF と JPA を使用しており、Spring や struts のような他のフレームワークは使用していません...)
調査の結果、Java EE が JASPIC と呼ばれる標準認証メカニズムを提供していることがわかりました。そこで、私は JASPIC に焦点を当てて調査し、複数の Stackoverflow Q/A と、Arjan Tijms によって書かれたそれらの記事を読みました (Java EE に関連する Stackoverflow Q/A を、彼の回答やコメントなしで見つけることはほとんど不可能です。彼のおかげで、道) :
- http://arjan-tijms.blogspot.fr/2012/11/implementing-container-authentication.html
- http://arjan-tijms.blogspot.fr/2013/04/whats-new-in-Java-ee-7s-authentication.html
- http://arjan-tijms.blogspot.fr/2014/03/implementing-container-authorization-in.html
私の質問は次のとおりです。JASPIC を使用すると、必要なこと (フォーム認証 + ロールによる URL 制限) を実行できるようになりますか?それを使用する価値はありますか? つまり、別のメカニズムを使用する方がおそらく安全で簡単です。
Arjan Tijms はまた、JASPIC を使用するかどうかは「鶏が先か卵が先かの問題のようなもの」であり、JASPIC を安全に使用できる場合 (解決するよりも多くの問題が発生することはありません)、必要なコードの量に関係なく、次のように述べています。書くために、私は本当に「最初のニワトリの1人」になりたいです。
java - Wildfly 8.1.0 Final / JASPIC: HttpServletRequest.authenticate() の呼び出し時に ServerAuthModule.validateRequest() が呼び出されない
Glassfish アプリを Wildfly 8 に移行しています。Glassfish では Jersey を使用し、Wildfly では RESTeasy を使用しています。WildFly の JASPIC 実装で少し問題が発生しました。
どちらのコンテナでも、リクエストの開始時に SAM (ServerAuthModule) が呼び出され、以前の認証を検証できるようになっています。
Wildfly では、HttpServletRequest.authenticate() の呼び出し後に SAM が呼び出されません。Glassfish では、これは期待どおりに機能し、SAM を再度呼び出しました。リクエスト中に Wildfly に SAM を 2 回呼び出させるために何か特別なことをしなければなりませんか? それとも、Wildfly でこの機能が壊れているだけですか?
java - ServerAuthModule (JASPIC) にログインするときではなく、オンデマンドでユーザーのグループ メンバーシップを決定することは可能ですか?
ServerAuthModule
カスタムログインシステムを使用するために、独自の を作成しようとしています。
すべてが正しいことを理解していれば、コンテナーはすべての着信要求に対して validateRequest メソッドを呼び出し、SAM は資格情報をチェックして、ユーザー名とユーザー グループ (資格情報が正しい場合) を介してコンテナーに通知します。 CallbackHandler。
私の問題は、ユーザーがログインしたときに、ユーザーがどのグループに属しているかがわからないことです。ユーザーが特定のグループに属しているかどうかのみを確認できます。メソッド内のグループを含む配列をコンテナに与える代わりに、ユーザーが特定のグループに属しているかどうかを確認できるメソッドをコンテナに与えることは何とか可能validateRequest
ですか?