ルートにアクセスチェックを入れて、実際のページではなくアクセス拒否ページを表示しようとしています。以下の例から、ルート クリックでアクセスが拒否されたことを警告できます。実際のページに移動してから、アクセスが拒否されたと表示したいと思います。
http://plnkr.co/edit/w1NCkGs0Tv5TjivYMdvt?p=preview
アクセス チェック付きの URL が で/admin/manageusers
、コンポーネント名がManageUserComponent
であるとしましょう。ユーザーがアクセス権を持っておらず、URL を試行した場合、ルートに移動する/admin/manageusers
必要がありますが、表示されるはずAccess Denied in the page
です。
1.私ができることの1つは、ルートresolve
機能を使用して、ユーザーのアクセスに関連する値を取得しManageUserComponent
、テンプレートを切り替えて切り替えることです。このアプローチは、アクセスロジックを実装したいルートに関連付けられた複数のコンポーネントに同様のコードを持つことになります。
component
アクセスチェックが必要なすべての場所を別のものに拡張しbase class
、上記のロジックを検証し、成功した場合は子コンポーネントを続行できるようにします。別のクラスを適切に拡張する方法をまだ理解していない
主な目標は、アクセスした URL をページ内のエラー メッセージと共に保持することです。そして、コンポーネント関数は実行されるべきではありません。
実装するアプローチとオプションを考えられる場合は、共有してください。
説明が明確でない場合はお知らせください。改善に努めます。