0
如何在spring中將anglar 2應用程序攔截「401授權」,然後將用戶重定向到登錄頁面?截取角度爲2的http狀態代碼401
例如,如果我沒有連接,我嘗試訪問一個頁面。攔截者必須要求我連接。而且我希望攔截器能夠偵聽服務器返回的所有401狀態。
如何在spring中將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