2017-01-10 24 views
0

Struts-1上にあるJBoss EAP-7上で動作するレガシーアプリケーションのMS Azureアクティブディレクトリ認証を設定する必要があります。HTTPメソッドPOSTはJBOSSのこのURLではサポートされていません

基本的な設定は次のとおりです。以下のようにindex.htmlという名前のウェルカムファイルがあります。

アプリケーションが起動すると、ログインページが表示され、資格情報が与えられ、リクエストはLDAP認証を行うLoginActionクラスに送られます。

私たちはこのリンクをたどっています https://docs.microsoft.com/en-us/azure/active-directory/active-directory-devquickstarts-webapp-java MS AD Autheticationを設定しています。

私たちは、このフィルタは、認証用のコードを持っており、Azureのログインページにユーザーをリダイレクト

<filter-name>BasicFilter</filter-name> 
<url-pattern>/index.html</url-pattern> 

としてweb.xmlの基本フィルタを作成しました。 http://localhost:8001/MyApp/index.html

このセットアップはWeblogicサーバーでうまく動作しますが、JBOSS EAP-7に同じものをデプロイしようとすると、MS Azureサインアップページが表示されます。基本的なフィルタが実行され、最後に "HTTPメソッドPOSTはこのURLでサポートされていません"というメッセージがブラウザに表示されます()。

私たちは間違っていますか? POSTのURLへのサポート方法(JBOSSのみ)

答えて

1

.htmlのHTTPメソッドPOSTは、他のサーブレットエンジンと異なるJBossではデフォルトではサポートされていないようです。

私の経験によれば、この問題を解決する方法はいくつかあると思います。

  1. それはあなたのプロジェクトのweb.xmlファイルに以下の設定を設定しようとして変更することができるのJBossのセキュリティ制約のように思えます。

    <security-constraint>  
        <display-name>Example Security Constraint</display-name>  
        <web-resource-collection>  
        <web-resource-name>Protected Area</web-resource-name>  
        <url-pattern>/index.html</url-pattern> 
        <http-method>GET</http-method>  
        <http-method>POST</http-method> 
        </web-resource-collection> 
    </security-constraint> 
    
  2. 回避策として、あなたはあなたのindex.htmlindex.jspに名前を変更しようとすることができます。これはJBossのserlvetコンテナ上で実行されるJSPとしてHTMLをコンパイルし、JSPは常にservice()メソッドを使用するため、JBossでの問題を回避する必要があります。

+0

あなたは私の一日を保存しました!ありがとうございました!!私は今のところ第二のアプローチに行きました。うまく動作します。 – pranav

関連する問題