Я хочу иметь две 403 Запрещенные страницы. Если пользователь несанкционирован, покажите страницу с формой входа. Если пользователь авторизован, покажите страницу, в которой говорится, что им не разрешено просматривать страницу.Изменение запрещенного вида в зависимости от авторизации
Похоже, effective_principals
от add_view от Pyramid - это путь. Тем не менее, я не могу понять, как правильно использовать это. Вот что я делаю:
from pyramid.security import Authenticated
@forbidden_view_config(containment=MyClass, renderer='login.pt')
def not_found(context, request):
return dict()
@forbidden_view_config(containment=MyClass, effective_principals=Authenticated)
def not_found(context, request):
return Response('Not allowed.')
Однако я получаю сообщение об ошибке с этим:
PredicateMismatch: несоответствие предиката для просмотра NOT_FOUND (effective_principals = [ 'system.Authenticated'])