2016-09-07 12 views
2

これらは、Aureliaを使用して認証と認可を検出するさまざまな実装を実際に表示するための一般的な質問です。このすべては、セキュリティで保護されたバックエンドサービスのコンテキスト内で話しています。Aureliaセキュリティ - 認証および認可

  1. サーバーでCookie認証を使用しているとします。 AureliaのCookieが、ログインしていることをユーザーに表示する方法をどのように認識していますか?アウレリアのドキュメントで

  2. hereを見て)、私たちは以下を参照してくださいすることができます

    class AuthorizeStep { 
        run(navigationInstruction, next) { 
        if (navigationInstruction.getAllInstructions().some(i =>      
         i.config.settings.roles.indexOf('admin') !== -1)) { 
         var isAdmin = /* insert magic here */false; 
         if (!isAdmin) { 
          return next.cancel(new Redirect('welcome')); 
         } 
        } 
    
        return next(); 
        } 
    } 
    

    /* insert magic here */があなたのためにどのようなものが見えますか?どのように見えますか?

答えて

1

私が現在作業しているアプリケーションは、XHRを使用して 'ログイン'ルートでサーバーからトークンを要求しています。このリクエストが成功し、トークンがバックエンドから受信された場合、トークンはCookieに保存され、ログインページからアプリのメインコンテンツに移動します。次に、ユーザがログインしていることを表示するためのグローバル変数 'loggedIn'を設定することができます。XHR経由でバックエンドにさらにリクエストするたびに、リクエストとともにトークンを送信します。

authorizeステップの 'magic'は、ユーザーがログインしているかどうかを確認するロジック、または上の例では管理者です。

これはグローバルフラグ(私が迂回する可能性があると思われる)か、保持されているクッキーが有効であることを確認するサーバーへの実際の要求のいずれかです。

関連する問題