あなたのアプリケーションが非常に大きく、バックエンドのビルドに多くの時間(10分以上)がかかる場合や、正当な理由があるたびにすべてのアプリケーションを再構築したくない場合は、 。あなたが本当に必要なのかわからない場合は、春のMVCの下にangularJSアプリケーションを置くことは、メインページだけでも多くの利点をもたらします:春の生態系、集中型セキュリティ、ログインとアクセス制御、SSO、多くの統合を使用できます。それらを2つのアプリに分けることができます。とにかく。
1)angularJSアプリを分離したい場合は、コントローラまたはjspファイルからangularjsアプリケーションへのルーティングに関するロジックを移動する必要があります。トークンベースの認証/ログインを実装します。次に、REST_BASE_URLを一定の角度のブロックで定義し、あらゆる場所($ http、$ resource)でリクエストURLを生成することができます。基本的に角の部分で作業する場合は、リモートサーバー上でバックエンドをセットアップし、nginxやその他の小さなサーバーを使ってローカルアプリケーションのみを実行し、Google Cromeで作業します(このツールを使用してchromeを実行してください:--args --disable- web-security --user-data-dir〜/)。残念ながら、FirefoxではCSRFチェックを無効にすることはできません。
2)2つのアプリケーションを個別に構築して展開することができます。
3)また、独自のAuthenticationEntryPointを作成して、春の残りの部分で代わりにログインページの)SC_UNAUTHORIZED(401返却する必要があります。角度側は、あなたがこのようにログインページまたはダイアログを401をキャッチし、表示するためにグローバルインターセプタを追加することができた場合:
.factory('authHttpResponseInterceptor',['$q','$location',function($q,$location){
return {
response: function(response){
if (response.status === 401) {
console.log("Response 401");
}
return response || $q.when(response);
},
responseError: function(rejection) {
if (rejection.status === 401) {
window.location.reload();
}
return $q.reject(rejection);
}
}
}])
は申し訳ありませんが、私の質問は分離についてでした。私は知っている、それはこの段階で分離する方が良いでしょう。さらに - 混乱。あなたの答えは質問に全く答えていません。 – user1935987
真剣に、あなたはちょうど春+ AngularJSアプリを作ることを話しています。これは問題ではありません。あなたは答えを削除することができます。 – user1935987
うわー、@ user1935987。助けようとするほどです。私はまだそこに答えを残します。 – javaGirl243