問題タブ [angular-router-guards]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
776 参照

angular - Angular ルーター ガードを構成する

canActivateAngular のルーターで使用されるガードを構成する方法はありますか?

これを持っているSessionGuard

そして、このルート:

requireLeagues新しい別のガードを作成することなく、ルートに応じて true または falseに設定したいと考えています。これは可能ですか?

0 投票する
1 に答える
807 参照

angular - AuthGuard でコールバック関数を使用する

AuthGuard に CanActivate の次の実装がある場合:

ガードはコールバック関数が実行されるまで待機しますが、userInfo以下では実際に HTTP を使用して Auth0 を呼び出すことを知っています。

0 投票する
1 に答える
2178 参照

angular - Angular 2ルーターは、404にリダイレクトする方法をアクティブにできますが、訪問中のURLを表示します

これが私のシナリオです:

ユーザーが というルートを訪れます/protected。私の CanActivate ガードでは、ユーザーがログインしているかどうかを確認します。ログインしていない場合は、ルートをレンダリングしたいのですが、アドレス バーには表示したままです。ユーザーが保護されたページと存在しないページを区別できないようにしたい。404 /protected

これは私が試したもので、うまくいきません。

ルーティング後、アドレスバーにURLが表示されるの/404ですが、表示させたいです/protected

アドレス バーの URL は ではなく以前の URL になるため、に変更してthis.router.navigate(['/404'], { skipLocationChange: true });も機能しません/protected

私の質問は次のとおりです。ユーザーがログインしていない場合、アドレスバーにアクセスしようとしていた URL を保持しながら、別のコンポーネントをどのようにレンダリングしますか?