問題タブ [jaas]
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 - Java JEE5 アプリ。Windows 認証を使用し、ユーザー名とパスワードを要求しないクライアント
グラスフィッシュ上で動作する Web モジュールとアプリクライアントで構成される Java JEE5 エンタープライズ アプリケーションがあります。
Active Directory に対する認証を設定する必要があります。Web モジュールまたはアプリケーション クライアント モジュールに LDAP ベースの認証を設定するのは簡単ですが、アプリケーション クライアントを起動するときに Windows ログオンから資格情報を取得するように求められており、何らかの形で資格情報が ejb に伝播されることは承知しています。いつものティア。これには、ユーザー プリンシパルだけでなく、ロールも含まれます。
簡単に言えば、私の質問は次のとおりです。JAAS は、ユーザーにユーザー名とパスワードの入力を求めることなく、デスクトップ クライアントの Windows 認証メカニズムにプラグインできますか?
ありがとう、パブロ。
java - j_security_check - フォームの送信に追加のパラメーターを渡すことができますか?
「j_security_check」を配置して追加のパラメーターを渡すことは可能ですか?
ログインページからのIPアドレスとその他のパラメータを渡したいと思います。
java - 実行時に java.security.PrivilegedAction を実行するサブジェクトを取得する
プリンシパルを抽出できるようにするために、現在 JAAS フレームワークで特権アクションを実行しているサブジェクトを取得しようとしています。基本的に、特権アクションが実行する権利を持つプリンシパルによって実際に実行されていることを実行時に確認する必要があります。
または、別の言い方をすれば、実行時に現在の LoginContext をある種のシステム プロパティとして (新しいものを作成するのではなく) 取得することは可能ですか? これにより、件名を簡単に抽出できます。
java - JMX-RMI/T3 接続により、CallbackHandler が ContextHandlerCallback が存在する例外をスローする
使用している Weblogic 10.3 のカスタム Authenticator に問題があります。
ユーザーが HTTP 経由で接続して認証すると、すべて正常に機能します。ただし、接続が JMX-RMI/T3 接続の場合javax.security.auth.callback.CallbackHandler.handle
、例外の呼び出しがスローされます。デフォルトのContextHandlerCallback
コンストラクターが使用され、ユーザー名とパスワードのコールバックを含むコールバックの配列に渡されます。以下は、callbackHandler がjavax.security.auth.callback.CallbackHandlerであるコードです。
これは、上からのポイントにスローされる例外の上部ですcallbackHandler.handle(callbacks)
。
そして、これも同様に見られる別の例外トレースです。
ユーザーが JMX/T3 接続を介して認証しているが、HTTP が正常に機能している場合、この例外がスローされることに注意してください。
私たちが達成しようとしていることの一部は、リクエストの発信元の IP アドレスなど、認証に関する情報を取得することですContextHandlerCallback
。JMX-RMI/T3 接続からを取得しようとするHttpServletRequest
と問題が発生する可能性があることがわかりますが、javax.security.auth.callback.CallbackHandler.handle() 中に例外がスローされています。
関連する場合と関連しない場合があるその他の情報ですが、できる限りすべてを含めないのはなぜですか?
- アプリケーションは、WS 呼び出しと同様にフォーム ベース認証を使用していますが、JMX-RMI/T3 呼び出しはそうでない場合があります。
- 認証時に CallbackHandler に使用する実装を定義できるかどうか不明です。現在、カスタム LoginModule を定義していますが、カスタム CallbackHandler は定義していません。
- ContextHandlerCallback の外に、LoginModule 内の発信者の IP アドレスにアクセスする方法がある場合は、適切な回避策が提供されます。
あるプロトコルで機能し、他のプロトコルでは機能しない理由がわかりません。この種の動作を見た、またはこれを処理する方法を知っている人はいますか?
ありがとう、トッド
java - WebアプリケーションごとにTomcatセキュリティレルムを定義する方法
TomcatでJAASJDBCRealmsを使用する場合、通常はでレルムを定義しますserver.xml
。しかし今、私は、アプリケーションをデプロイするときにTomcatコンテナーを構成する必要がない、より単純なソリューションを探しています。
可能であれば、すべてのJAAS構成をweb.xmlに保持し、アプリケーション/webappごとにレルムを定義したいと思います。
あるスレッドは、彼がWebアプリケーションのレルムを定義することによってこれを行ったと述べていMETA-INF/context.xml
ますが、私はそれを機能させることができませんでした(Tomcatマネージャーが私のLoginModuleを使用しているのはなぜですか?)。
.warで正しい場所を見つけて、そのWebアプリに使用されるを定義するのを手伝ってくださいorg.apache.catalina.realm.JDBCRealm
。
java - サーブレットを使用したJAAS
サーブレットアプリケーションにJAASを使用しようとしています。基本的なJAASの単純な認証(非サーブレット)を機能させることができました。
しかし、サーブレットを使用して、この変数をどこに設定しますか?-Djava.security.auth.login.config = test_jaas.config
また、このページhttp://www.kopz.org/public/documents/tomcat/jaasintomcat.htmlに従って、JVM_OPTSをこれにエクスポートしてみました。
しかし、LoginContexを作成している間、「LoginModulesが構成されていません」というメッセージが表示され続けます。
どんな助けでも大歓迎です。
security - コンテナー管理認証を使用する場合に JSF でログイン ユーザー名を取得する方法
カスタム Realm を使用して、GlassFish 3 サーバー上の JSF 2.0 アプリケーションでフォーム ベースのログインを構成しました。ログインしているユーザー、つまりユーザー名に関する情報を取得する最も簡単な方法は何ですか?
これは可能ですか?それとも、現在のセッションがセキュリティ ロールに関連付けられているだけですか? もしそうなら、ログイン構成を変更せずにこれを可能にする方法はありますか?
簡単に言えば、次のような単純なメッセージを表示することです。
ユーザー名でログイン
私のウェブページで。
jboss - HTTP BasicAuthenticationは、ユーザーの役割が変更されてもすぐには認識されません。私はそれについて何ができますか?
JBossAS5.1GAにWebサービスをデプロイしました。HTTP基本認証を使用するには、SBCクラスに次のように注釈を付けます。
通常、これは正常に機能します。しかし、次のシナリオは私を悩ませます。
WebserviceUserの役割を果たしているユーザーがサービスを呼び出します。
これで、Webサービスの役割がユーザーから奪われます。
問題:彼はまだサービスを呼び出すことができます。
これは、ユーザーの資格情報とロールがサーバー側のHttpSessionオブジェクトに格納されているために発生すると思います。サーバーの再起動後、ユーザーはサービスの呼び出しを拒否されます。
私はそれについて何ができますか?
よろしく
編集:この問題は、JBOSSWS EJB3 Webサービスだけでなく、JAAS認証を使用するすべてのものに当てはまります。
ldap - Glassfish と OpenDS での最終ログイン時間 - LDAP 資格情報はキャッシュされていますか?
LDAP レルムを使用したユーザー認証に OpenDS 2.2 ディレクトリを使用するように Glassfish 3.0 を構成しました。ユーザー認証は正常に機能します (フォーム ログインが構成された Web アプリケーションを使用しています)。
- 私の OpenDS サーバーは、属性 ds-pwp-last-login-time を使用してユーザーの最終ログイン時間を追跡するように構成されています (ユーザーのパスワード ポリシーで構成されているように)。Glassfish の起動後にユーザーが初めてログインすると、ds-pwp-last-login-time 属性が正しく設定されますが、その後ログインが成功するたびに属性が更新されません。
- Glassfish を再起動するか、使用している Web アプリケーションを無効化/有効化した後、ユーザーの初回ログイン時に属性 ds-pwp-last-login-time が再び正しく設定されますが、再度設定されることはありません。
これには次のいずれかの原因が考えられます。
- サーバー/アプリケーションの再起動後の最初のログイン時に、ds-pwp-last-login-time 属性を更新するステップがサーバーによって実行されますが、これは後続のログインには当てはまりません。
- Glassfish は、ldap レルムを使用してサーバーに認証済みのユーザーのローカル キャッシュを保持します。
セキュリティロガーをFINESTに設定してサーバーログを調べたところ、各ユーザーの最初のログイン中に次の行が出力されることがわかりました
ログインが成功するたびに ds-pwp-last-login-time 属性が正しく設定されるように Glassfish/OpenDS を構成する方法を知っている人はいますか? サーバーログに表示される権限チェック用の保護ドメインの生成セクションが何をしているのか知っている人はいますか?