Пример для Catalyst::Plugin::Authentication::Store::DBIC и Class::DBI

Я пытаюсь использовать Class::DBI с Catalyst::Plugin::Authentication::Store::DBIC. пример, приведенный на CPAN, не работает с Class::DBI. Например, конфигурация неверна: role_class => 'DB::Role' нужно заменить на role_class => 'MyApp::Model::DB::Role'. Аутентификация работает с использованием простого DBI, но я бы предпочел использовать Class::DBI, как и в остальной части моего приложения.

Я не смог найти полный пример аутентификации Catalyst с классом: DBI. Знаете ли вы какой-нибудь такой учебник?


person Julien    schedule 08.07.2009    source источник
comment
Вы найдете гораздо больше поддержки для DBIx::Class, чем для Class::DBI; подумайте о переключении.   -  person ysth    schedule 08.07.2009


Ответы (2)


Я подозреваю, что вам лучше спросить об этом на канале #catalyst на irc.perl.org. Вы либо закончите тем, что напишете свой собственный магазин для CDBI, либо разработаете, как использовать уровень совместимости CDBI в DBIx::Class, чтобы заставить его работать, или, если это новая кодовая база, тогда вам действительно следует подумать о наследии CDBI. и создайте свою схему с помощью DBIx::Class и DBIx::Class::Schema::Loader

person singingfish    schedule 08.07.2009

Ненавижу это говорить, но певчая рыба права. Catalyst::Plugin::Authentication::Store::DBIC не был обновлен в некоторых время (помимо того, что он отображается для отображения устаревшего предупреждения). Он также использует старый (2006 г.) API аутентификации и будет ограничивающим фактором вашего приложения, даже если вы заставили его работать.

Если у вас есть возможность, я бы переключился на DBIx::Class. Если нет, ваш единственный реальный выбор — написать собственный модуль хранения данных, который работает с Class::DBI. На самом деле это не так уж сложно, и вы можете найти инструкции во внутреннем документе для Catalyst Auth:

http://search.cpan.org/dist/Catalyst-Plugin-Authentication/lib/Catalyst/Plugin/Authentication/Internals.pod

Удачи!

ДжейКей

person jayk    schedule 24.07.2009