たとえば、ログインしていない場合、インデックスページがウェブサイトのフロントページとして表示されます。ただし、ログインすると、同じページ (少なくとも同じ URL) にとどまりますが、現在は個人アカウント ボードにいます。ウェブサイトのフロントページを間に挟むことでできますか
<div ng-view></div>
タグ?URL がリロードされると、コンテンツは非表示になりますか?
例を使って、何をする必要があるかを説明しましょう。ベース URL がwww.foo.com
ここで、ユーザーがログインしていない場合は、ルートをロードする必要があります。/bar
つまり、ロードする必要がある完全な URL はwww.foo.com/bar
. ユーザーがログインしている場合は、ユーザーを /boo パスに誘導します。つまり、URL は になりwww.foo.com/boo
ます。
要約すると:
登録ユーザーはこちらをご覧ください:www.foo.com/boo
非登録ユーザーはこちらをご覧ください:www.foo.com/bar
クライアント側
AngularJS を使用$routeProvider
して、パスが登録済みユーザーの場合は適切なテンプレートを表示します (/bar
未登録ユーザーの場合はテンプレート、パスのテンプレートを表示し/boo
ます)。
サーバー側
サーバーで、登録ユーザーにのみ表示されるテンプレートをクライアントが要求した場合、同じものを提供する前にユーザーがログインしていることを確認してください。テンプレートを未登録ユーザーに表示する場合は、そのようなチェックは必要ありません。
クライアントがログインしていない場合は、ユーザーをログイン ページにリダイレクトするか、未登録ユーザーに表示する必要があるテンプレートを表示します。
上記のすべては、テンプレートを使用して実現できるため、<div ng-view></div>