2011-10-21 2 views
1

모듈에서 클레임이 필요하고 사용자가 클레임이없는 경우 403 응답이 반환됩니다. 예 :Nancy RequiresClaims failure가 403을 반환합니다. 어떻게 사용합니까?

this.RequiresClaims(new[] { "SuperSecure" }); 

또는

this.RequiresValidatedClaims(c => c.Contains("SuperSecure")); 

하지만 그건 그냥 사용자에게 빈 페이지를 반환합니다.

필수 소유권 주장이없는 사용자를 어떻게 처리합니까? 403을 포착하여 리디렉션 할 수 있습니까?

RequiresClaims 메서드는 void를 반환하거나 HttpStatusCode.Forbidden을 반환하기 위해 사전 요청 후크를 사용합니다. 사용자가 어떤 일이 발생했는지 알 수 있도록하려면 어떻게해야합니까?

많은 감사, 닐

답변

1

당신은 그것을 잡을 수 있습니다 자신의 포스트 요청 훅 (중 응용 프로그램 수준 또는 모듈 수준에서) 작성하거나 아마 default one 포장, IErrorHandler 자신을 구현하여.

오류 처리기 항목이 변경되어 여러 오류 코드에 대해 여러 개의 오류 코드를 등록 할 수 있습니다 ("할 수있는 인터페이스"사용).하지만 내 뇌가 어떤 이유로 든 할 수 없습니다. 컬렉션으로 추가하지 마세요 :-)

+0

좋아요. 많은 감사 스티브. –

+1

누군가 나 같은 미래에 온다면 IErrorHandler의 이름이 [IStatusCodeHandler] (https://github.com/grumpydev/Nancy/blob/master/src/Nancy/IStatusCodeHandler.cs)로 바뀌 었음을 기억하십시오. 새로운 기본 설정은 [DefaultStatusCodeHandler] (https://github.com/grumpydev/Nancy/blob/master/src/Nancy/ErrorHandling/DefaultStatusCodeHandler.cs)입니다. – Rassi

관련 문제