2016-07-27 9 views
1

401応答がある場合、サーバーエンドポイント応答を傍受し、aureliaアプリケーションをログインページにリダイレクトするにはどうすればよいですか?サーバーが401応答を返す場合、ログインページにリダイレクト

は私がオーレリア・フェッチ・クライアントの設定の "withInterceptor(responseError(){...})" メソッドを試してみましたが、私は "新しいリダイレクト(loginPage)" を返すことはできません...

誰もが持っていますどのようにそれを行うアイデア?ここで

+0

あなたは、ルータを注入し、ルートに移動することはできませんか? –

答えて

3

は例です:

import { HttpClient } from 'aurelia-fetch-client'; 
import { inject } from 'aurelia-framework' 
import { Router } from 'aurelia-router' 

@inject(HttpClient, Router) 
export class UserService { 
    http 
    router 

    constructor(http, router) { 
    this.http = http 
    this.router = router 

    this.http.configure(config => { 
     var self = this; 
     config 
     .withInterceptor({ 
     responseError(response) { 
      if (response.status === 401) { 
      self.router.navigateToRoute('login') 
      } 
      return response; // you can return a modified Response 
     }, 
     }); 
    }); 
    } 
関連する問題