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