この目的を達成するためにサービスを利用できます。 2つの異なるアプリケーションがあり、それらの間にブリッジを作成する必要があるので、必要な場所に注入できるサービスを作成することをお勧めします。 A AngularJsサービスは、このようなあなたの角度のモジュールを使用してそれを宣言することで、AngularJsアプリケーション内に作成されます。
angular.module("YourAngularModuleName").factory("MyCustomService",
[
"injectedDependency",
function(injectedDependency)
{
var serviceInstance={};
serviceInstance.operationYouNeed = function(){
//do your stuff.
return;
};
return serviceInstance;
}
]);
これ以上のサービス「operationYouNeed」と呼ばれる方法を持っている「MyCustomService」と呼ばれるサービスの構成例であります。
AngularJs Appコントローラでは、MyCustomServiceを注入して、必要に応じて操作を呼び出すことができます。
公開したシナリオを考慮すると、ログに記録されたユーザーコンテキストを保持する方法はわかりませんが、サービスメソッドでユーザーアクションを評価してから、$ location.path( "app2 root url ")、もしそうであれば、$ window.location.href ="あなたのapp2のルートURL "を呼び出して、ページのリロードを引き起こします。
私が書いたアプリケーションでは、私はトークンベースの認証を実装してプライベートなクッキーとして一時的なtokeを保存しています。そのため、App2であなたのアプリケーションのシナリオがあれば、セッションの妥当性をチェックし、ユーザーをリダイレクトする必要があるかどうかを判断するために一時的なCookieを取得します。
ここで実装できるもう1つのコンセプトは、共通のサービスを宣言する3番目のAngularJsアプリケーションを使用することです。そのため、2つのアプリケーション間に危険な循環参照を作成する必要はありません。
私はあなたのAngularJsの知識のdeepnesを知らないが、あなたはオールウェイズので、同じように、あなたはAngularJsアプリモジュールでそれを含めることによって、このような何かをしWHEモジュールの依存関係を宣言する必要があります:
angular.module("YourAngularModuleName",["anotherDepencyModule", "another", ...]);
それが役に立てば幸い。 乾杯。