問題タブ [security-constraint]

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.

0 投票する
1 に答える
9257 参照

java - ContainerRequestFilter を使用する JAX-RS メソッドの基本認証ヘッダーをブロックする Wildfly web.xml セキュリティ制約

私が開発している Web アプリケーションは、いくつかのサーブレットと JAX-RS Web サービスで構成されています。これまでは ContainerRequestFilter を使用して REST メソッド呼び出しを認証していましたが、今度はサーブレットも保護する必要があるため、web.xml を使用してセキュリティ制約を定義することにしました。私の web.xml は次のようになります。

web.xml の構文を正しく理解している場合、定義したことは、LoginModules に関する限り /rest/* (すべての JAX-RS メソッドがある場所) へのアクセスが制限されず、/protected へのすべてのアクセスが制限されないことを意味します。 /* パス (安全なサーブレットを保持する場所) には基本認証が必要です。

安全なサーブレットの 1 つ (/protected/test など) を開こうとすると、ブラウザーに基本的な認証ログイン ダイアログが表示され、動作は正しく、「管理者」ユーザーの資格情報を入力すると、アクセスが許可されます。そうしないと、「禁止」メッセージが表示されます。

また、/rest/ パス上の何かにアクセスしようとすると、基本的な認証ダイアログが表示されません。ただし、ContainerRequestFilter で取得した Authorization ヘッダーは、REST 要求で送信しているものではなく、以前に /protected/ サーブレットにアクセスするために使用したものです。

以下は、パズルの他の部分です。

standalone.xml (セキュリティ ドメイン セクション)

jboss-web.xml

PaloLoginModule.java

SecurityInterceptor.java

RESTClient for Firefox を使用して、REST リクエストを JAX-RS メソッドに送信しています。すべてのヘッダーをログに記録しているので、フィルターに渡されるものをはっきりと見ることができ、RESTClient で値を変更しても、値は呼び出し間で変化しません。さらに、RESTClient で Authorization ヘッダーを使用しなくても値はそのままです。

私の質問は、Authorization ヘッダーがブロックされ、フィルターに転送されないのはなぜですか? web.xml ファイルを削除すると、ContainerRequestFilter で正しい Authorization ヘッダーが取得されます。アプリケーションの /rest 部分を web.xml の login-config の影響を受けないゾーンに移動する方法はありますか?

どんな助けでも大歓迎です!

0 投票する
1 に答える
564 参照

java - Tomcat の基本認証をオーバーライドする

Web アプリケーション用の Web ベースのセットアップを作成しようとしています (主にデータベースのセットアップ)。しかし、私はすべてのサーブレットに DIGEST 認証を使用しているため、問題が発生しています。ユーザーに mysql パスワードの入力を求めたいのですが、ログインできないためできません。ユーザーはデータベースに保存されているため、その時点では存在しないため、ログインする方法はありません。

ユーザーがパスワードを入力する必要がないように、単一のサーブレットのログイン構成をオーバーライドできますか?

0 投票する
0 に答える
1419 参照

security - web.xml に security-constraint を追加すると、すべてのリソースへのアクセスがブロックされる

web.xml セキュリティ制約要素を使用して、未使用の http メソッド (OPTIONS、TRACE、DELETE) をブロックしようとしています。しかし、既存のすべてのリソースをブロックし、302 応答をスローしています。

私の web.xml を以下に示します。

これにより、すべての GET リクエストがブロックされます。最初は、リクエストを受け入れるためだけにGET、PUT、POSTを追加しようとしましたが、後でほとんどすべての方法を試しました。

参考までに、ここではロールと認証を使用していません。

0 投票する
0 に答える
914 参照

tomcat - Tomcat セキュリティ制約の URL パターンが機能しない

私は自分のプロジェクトで認証を取得しようとしていますが、Tomcat のセキュリティ制約のURL パターンは「/*」またはその他のルート レベル パターンのみを受け入れるようです。つまり、次を使用してすべてのページを「保護」できます。

しかし、私が次のようなことをしようとすると

すべてのページを「開いた」ままにして登録することすらありません

同じことが、すべてのページをロックし、パブリック フォルダーの認証制約なしで別のより具体的なセキュリティ制約を追加する場合にも当てはまります。

パターンを認識せず、フォルダを「ロック解除」しません

前もって感謝します!

これは XML ファイル全体です。そのままでは何もロックされていません (ただし、ロックしたいのですが!):

0 投票する
1 に答える
376 参照

java - auth-constrain と security-role の違いは何ですか?

次の違いは何ですか:

と:

セキュリティ制約宣言で?

たとえば、BASIC 認証を次のように定義している場合、どちらを使用すればよいですか?

0 投票する
1 に答える
63 参照

java - 安らかなWebサービスでセキュリティチェックの検証から特別なユーザーを除外する方法

ファイルパスを取得するために残りのWebサービスを使用しています。ここでは、追加のセキュリティを提供するためにセキュリティ コンテキストを使用しています。ログインしたユーザーは、Web サービス URL で指定されたユーザー名と同じでなければならないという検証を使用しました ( security check )。

しかし、サーバーから特別なファイルパスを取得するために使用される1人のユーザーがいるという特別なケースが1つあります。このユーザーを Web サービスの URL から渡すと、ログインしているユーザーと URL で指定されたユーザーが同じではないため、セキュリティ コンテキストの検証に引っかかります。

そのため、特別なユーザーをセキュリティ チェックから除外する方法は他にもあります。この問題を解決するために、web.xml で構成を指定できますか。

例えば

URLからのユーザーがabcの場合は、セキュリティチェックで許可せずに通過させたいです。

これは、有効なユーザーを確認するための Web サービス コードです。