角度2の方が新しいです。アプリケーションがあり、アプリケーション内のすべてのページで、現在ログインしているユーザー名と割り当てられた役割をヘッダーコンポーネントに表示する必要があります。私が持っている:取得するにはRESTエンドポイントを呼び出すための各ページにログイン名と役割を表示する角度2
- ユーザーモデル(例えば、ユーザ名、役割、そしてその人の名前として表示するために必要なフィールドを持つユーザー・インターフェース)
- ユーザーサービス(サービスクラスを私たちの認証システムからのデータ
ログインからユーザー情報を簡単に取得できますが、これは有効なJSONとして表示されますが、私のサービスを呼び出すことなくすべてのページ(コンポーネント)に表示する方法すべての単一コンポーネント?理想的には、ログインページの後にヘッダーまたは開始コンポーネントがユーザーオブジェクトをロードし、それを後続のすべてのコンパウンドに注入または渡しますntsなので、ユーザーオブジェクトはコンポーネントからコンポーネントに格納されるため、アプリケーションのロード時には1つのhttpコールしか必要ありません。
本質的に私は、これに最もよくストリームされたアプローチを探しています。これは一般的なシナリオのようですが、これに関連する回答を書くほとんどの人は、すべてのコンポーネントでサービスを呼び出すと言っています。これは、すべてのページの読み込みでAPIエンドポイントの呼び出しが開始されることを意味しますか?このデータをセッションまたはクッキーに保存できますか?
ありがとうございます!
有効なユーザーオブジェクトを手動で生成し、それをクッキーに保存すると、他の誰かのふりをすることができますか? – Nope
私の知る限りでは、あなたのヘッダーコンポーネント(例えば、navbar)は一度しかロードされないコアモジュールの一部でなければならず、現在ログインしているユーザーを取得するためのサービスコールが含まれています。そう。アプリが読み込まれたときに現在ログインしているユーザーを取得するためのAPI呼び出しは1つだけです。私のコメントが理にかなっているかどうか教えてください。 – mrsan22
@Fran潜在的にはい、誰かが誰かを模倣するためにクッキーを操作することができます(かなり簡単に)、私はそれをはっきりと操ることを好むでしょう。良いことは、私が(仮説的に)保存するクッキー情報は、名前と役割の表示以外の価値がないということです。実際のデータは保護されたAPIのエンドポイントから得られます。ヘッダーは一般的なユーザー情報を表示するだけで、アプリ全体にいかなる形でも転記されません –