Реальный ответ: Catalyst::Plugin::Authentication
требует от from_session
и for_user
до обработки только сериализованных ключей : for_user
, возвращающих сериализованный ключ, from_session
, возвращающих пользователя.Это создает проблему, поскольку C:P:A:DBI
в настоящее время не разрешает многоключевых пользователей в реализации своей роли или в реализации from_session
и for_user
.Как ни странно, он разрешает сложные условия значения ключа в поиске пользователя в find_user.В настоящее время откат является ошибочным предположением, что все пользователи идентифицируются с помощью uid / guid / pkid и т. Д.
Чтобы идентифицировать пользователя с помощью составного ключа, необходимо присоединить условный запросв хранилище или кешируется в for_user
сериализованном ключе.И то и другое выполнимо с помощью патча.
Как ни странно, в прошлый раз у меня была такая же путаница Я создал хранилище LDAP 3 года назад .
Я сохранюэтот вопрос открыт до тех пор, пока я не исправлю его, не разберусь с ним, или кто-то не даст полезный соответствующий совет Catalyst::Plugin:: Authentication::Store::DBI
.Я переписал этот модуль, и он доступен на http://github.com/EvanCarroll/Catalyst-Authentication-Store-DBI