私のweblogicサーバーには、基本認証(web.xml
およびweblogic.xml
)が有効になっているアプリケーションがあります。現在、Spring-BootアプリケーションをTomcatからweblogicに移植しています。ここでは、基本認証もアプリケーション層で行われました。したがって、これを移植すると機能せず、enforce-valid-basic-auth-credentials
をfalse
に設定する必要があります。同じドメインで実行される(仮想ホストで実行される)最初のアプリケーションをリファクタリングする必要があると予想しましたが、このアプリケーションでは認証がまだ機能しているようです。では、本番サーバーでこのオプションを設定するとどうなりますか?
enforce-valid-basic-auth-credentials
フラグはドメイン全体に影響します。したがって、両方のプロジェクトで機能します。
Enforce-valid-basic-auth-credentialsフラグはデフォルトでtrueであり、WebLogicServer認証が実行されます。認証が失敗した場合、要求は拒否されます。したがって、WebLogic Serverは、ユーザーとパスワードに関する知識を持っている必要があります。
別の認証メカニズムに依存している場合は、デフォルトの動作を変更することをお勧めします。たとえば、バックエンドWebサービスを使用してクライアントを認証し、WebLogicServerがユーザーについて知る必要がない場合があります。デフォルトの認証強制を有効にすると、Webサービスは独自の認証を実行できますが、これはWebLogicServer認証が最初に成功した場合に限ります。
enforce-valid-basic-auth-credentials
フラグを明示的にfalseに設定すると、WebLogic Serverは、ターゲットリソースに対してアクセス制御が有効になっていないHTTPBASIC認証クライアント要求に対して認証を実行しません。
Oracle WebLogicServer認証はデフォルトで有効になっています。ただし、この構成では、Oracle WebLogicServerがアプリケーション管理認証を使用できなくなります。 Enforce-valid-basic-auth-credentialsパラメータをfalseに設定して、Oracle WebLogicServer認証を無効にする必要があります。
手順
Oracle WebLogic Server認証を無効にするには:
- テキスト・エディターで、IBM CMIS for Content ManagerOnDemandをデプロイしたドメインの
config.xml
ファイルを開きます。config.xml
ファイルは、Oracle/Middleware/user_projects/domains/domain_name/configディレクトリにあります。<security-configuration>
要素を見つけます。要素の最後に次の引数を追加します。
<enforce-valid-basic-auth-credentials>false</enforce-valid-basic-auth -credentials>
ドメイン内のすべてのサーバーを起動または再起動します。
システムが無効な基本認証資格情報を持つ要求に安全でないリソースへのアクセスを許可する必要があるかどうか。 (Interface = weblogic.management.configuration.SecurityConfigurationMBean Attribute = getEnforceValidBasicAuthCredentials)
実際、ここでは2つのことを行う必要があります。
connect('weblogicUser','weblogicPassword','t3://localhost:7001') edit() startEdit() cd('SecurityConfiguration/Your_Domain') set('EnforceValidBasicAuthCredentials','false') save() activate()
N.B :(「cd」コマンドでweblogicUser、weblogicPassword、weblogic url、およびドメインを使用して編集することを忘れないでください...)。これを正常に行うと、構成ファイルに影響します。
サーバーを再起動した後、config.xml
ファイルを調べたところ、別のタグが追加されています。さて、config.xml
ファイルは次のようになります:
.........
<enforce-valid-basic-auth-credentials>false</enforce-valid-basic-auth-credentials>
<use-kss-for-demo>true</use-kss-for-demo>
</security-configuration>
............
ただし、このuse-kss-for-demo
タグは、weblogicの構成によって異なる場合があります。したがって、 Val Bonn は、WSLTの方法を使用してこのフラグを更新することを強くお勧めします。
https://stackoverflow.com/a/39619242/2293534
それで、あなたはどのような影響があるのか知りたいですか?
デフォルトでは、WebLogic Serverは認証ヘッダーを確認します。コードとアプリが匿名アクセスを許可するように設定されている場合でも、HTTP認証ヘッダーがあると、WebLogicは要求の処理に失敗し、ブラウザのログインダイアログを表示します。
パブリッシャーWebサービスはデフォルトで認証ヘッダーを使用するため、パブリッシャー認証ヘッダーはポートレットコードに送信されます。幸い、これに対する修正は非常に簡単で、enforce-valid-basic-auth-credentialsをfalseに設定するように文書化されています。