2017-10-10 20 views
0

anglar 2アプリケーションで「401認可が必要」を傍受してから、春にユーザをログインページにリダイレクトするにはどうすればよいですか?角度2のhttpステータスコード401

たとえば、私が接続されていない場合は、一度ページにアクセスしようとします。インターセプタは私に接続するように指示する必要があります。そして、私は、このインターセプタに、サーバから返されたすべての401ステータスを聞きたいと思います。

+0

使用アンギュラ[HTTPのインターセプター](https://rahulrsingh09.github.io/AngularConcepts/services) –

+0

あなたは 'NG2-interceptors'を使用することができます。 https://github.com/voliva/angular2-interceptors – hrdkisback

+0

答えをお考えください。 – Drame

答えて

0

外部パッケージを使用したくない場合は、自分の残りのhttpサービスを作成するだけです。

Httpを拡張するサービスクラスを作成するだけです。

例:

export class RestHttp extends Http { 

constructor(backend: ConnectionBackend) { 
    super(backened, new RequestOptions (...)) 
} 

get(url: string) { 
    return this.catchError(super.get(url)); 
} 

(delete, post, put) (...) 

private catchError(res: Observable<Response>) { 
    return res.catch((err) => { 
    if (err.status >= 400) { 
     *your logic* 
    } 
    return Observable.throw(err); 
    }); 
} 

は今、あなたはあなたのモジュール内にそれを提供する必要があります。このような何か:

app.module

(...) 
providers: [ 
    {provide: Http, useFactory: httpFactory, deps: [...] 
(...) 

export function httpFactory(backend: XHRBackend) { 
    return new RestHttp(...) 
} 
関連する問題