금지 된보기에서 손님을 위해 페이지를 방문하면 모든 회원을 대시 보드로 리디렉션하고 멤버가 페이지를 방문하면 모든 손님을 로그인 페이지로 리디렉션하려고합니다. 이것은 충분히 쉽습니다.피라미드에서 호출 된 뷰에 첨부 된 권한을 얻는 방법은 무엇입니까?
그러나 실패한 권한의 원인이 아닌 HTTPForbidden 오류를 던져서 단순히 사용자에게 이유를 표시해야하는 경우가 있습니다. HTTPForbidden이 실패한 권한 또는 다른 이유의 결과인지 여부를 어떻게 확인할 수 있습니까? pyramid.security.has_permission
(아직 시도하지 않았 음)으로 이상한 일을 할 수 있다고 생각하지만, 쉬운 방법이 있어야합니다.
이이 것을 주장했다 2011에서 오래 된 문제는 내가 그것을 테스트하지 않았습니다 How to check what permission failed in authorization in pyramid (pylons 2)?
나는 이런 식으로 생각했다. 그러나 나는 쉬운 방법이 있기를 바랬다. – BDuelz
또한 exception_raised_because_permission_failed() else manually_raised_exception_show_reason (exception.reason_msg) 논리가 매우 명시 적이지 않은 로직 인 'show_forbidden_page()'는 피라미드를 통해 수동으로 예외를 발생시키는 거의 의도하지 않은 부작용을 사용하는 것처럼 느껴집니다 기계. – Sergey