「制限付き」状態にアクセスするためにログに記録されていないユーザーを回避するために、Emberで基本認証レイヤーを追加しようとしています。
問題は、「enter」イベントで認証ステータスをチェックしていることですが、そこから別のルートにリダイレクトしても、「connectOutlets」が常に呼び出されます。
「enter」状態から「connectOutlets」状態への移行を停止する方法はありますか?認証チェックを「connectOutlets」状態にするのは少し汚い感じがします
「制限付き」状態にアクセスするためにログに記録されていないユーザーを回避するために、Emberで基本認証レイヤーを追加しようとしています。
問題は、「enter」イベントで認証ステータスをチェックしていることですが、そこから別のルートにリダイレクトしても、「connectOutlets」が常に呼び出されます。
「enter」状態から「connectOutlets」状態への移行を停止する方法はありますか?認証チェックを「connectOutlets」状態にするのは少し汚い感じがします
「enter」状態から「connectOutlets」状態への移行を停止する方法はありますか? 「connectOutlets」状態に認証チェックを入れるのは少し汚い気がします
私の知る限り、これを行う簡単な方法はありません。回避策がいくつか試みられていますが、ユースケースにはお勧めしません。
「制限された」状態にアクセスするためにログインしていないユーザーを避けるために、Ember で基本的な認証レイヤーを追加しようとしています。
Ember には、実際には「制限された」状態はありません。「状態」は「ユーザーが要求したもの」を意味し、必ずしもユーザーがアクセスできるものではないと考えてください。したがって、ユーザーはいつでも URL を変更して任意の「状態」に到達できますが、各状態でのアプリの動作はモデル データによって異なります。コントローラーは、ユーザーの認証レベルと API によって返されるデータに基づいて、表示される内容を決定します。
これを実現する最も簡単な方法は、アプリケーション テンプレートを承認チェックでラップすることです。例えば:
{{#if isAuthorized}}
<h1>Welcome!<h1>
{{outlet}}
{{else}}
{{#if isLoggedIn}}
<p>Sorry, you are not authorized to view this page</p>
{{else}}
{{view App.LoginForm }}
{{/if}}
{{/if}}
isAuthorized
次に、isLoggedIn
計算されたプロパティをアプリケーション コントローラーに追加するだけです。