0
anglar 2アプリケーションで「401認可が必要」を傍受してから、春にユーザをログインページにリダイレクトするにはどうすればよいですか?角度2のhttpステータスコード401
たとえば、私が接続されていない場合は、一度ページにアクセスしようとします。インターセプタは私に接続するように指示する必要があります。そして、私は、このインターセプタに、サーバから返されたすべての401ステータスを聞きたいと思います。
anglar 2アプリケーションで「401認可が必要」を傍受してから、春にユーザをログインページにリダイレクトするにはどうすればよいですか?角度2のhttpステータスコード401
たとえば、私が接続されていない場合は、一度ページにアクセスしようとします。インターセプタは私に接続するように指示する必要があります。そして、私は、このインターセプタに、サーバから返されたすべての401ステータスを聞きたいと思います。
外部パッケージを使用したくない場合は、自分の残りの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(...)
}
使用アンギュラ[HTTPのインターセプター](https://rahulrsingh09.github.io/AngularConcepts/services) –
あなたは 'NG2-interceptors'を使用することができます。 https://github.com/voliva/angular2-interceptors – hrdkisback
答えをお考えください。 – Drame