![]() |
|
Модераторы: korob2001, ginnie |
![]()
|
|
| gcc |
|
||||
![]() Агент алкомафии ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2691 Регистрация: 25.4.2008 Где: %&й Репутация: 1 Всего: 17 |
делаю как в книге, только использую DBI вместе DBIx::Class
ругатеся
модули в системе стоят, эти модули мне нужно поставить в мой проект? то как поставить их с DBI? нигде не написано... чтобы поставить надо знать что такое Session::Store::DBI - это модель, контроллер или view?? на что именнно он ругается? ЗЫ: каталист с певрого раза не очень понравился, так как все равно всё надо переделывать под свои нужны и телепатировать с разработчиками Это сообщение отредактировал(а) gcc - 27.1.2009, 11:45 |
||||
|
|||||
| ginnie |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1287 Регистрация: 6.1.2008 Где: Москва Репутация: 38 Всего: 49 |
gcc, я, к сожалению, не знаком с Catalyst, поэтому конкретных рекомендаций тебе не дам. Ругается он на Authentication::Store::DBI, т.к. при этом пытается загрузить модуль Catalyst::Plugin::Authentication::Store::DBI, которого нет (в природе
-------------------- Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (Мартин Фаулер. Рефакторинг) |
|||
|
||||
| gcc |
|
|||
![]() Агент алкомафии ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2691 Регистрация: 25.4.2008 Где: %&й Репутация: 1 Всего: 17 |
полностью написано про это тут:
http://kobesearch.cpan.org/htdocs/Catalyst...ore/DBI.pm.html сейчас делаю по этому http://search.cpan.org/~hkclark/Catalyst-M...thorization.pod http://search.cpan.org/~hkclark/Catalyst-M...hentication.pod только использую DBI Это сообщение отредактировал(а) gcc - 30.1.2009, 21:07 |
|||
|
||||
| gcc |
|
|||
![]() Агент алкомафии ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2691 Регистрация: 25.4.2008 Где: %&й Репутация: 1 Всего: 17 |
есть сабж такой
http://search.cpan.org/~hkclark/Catalyst-M...enticated_Users откуда там идут значение c.user_exists и c.user.username в шаблон ? то есть мне нужно вывести активен ли пользователь или нет, но я не ивжу от куда те парамерты взялись ИМХО ( а шаблон не ТТ) ============================== это по-моиму это $c->user( ) http://search.cpan.org/~bobtfish/Catalyst-...thentication.pm ЗЫ просто не понятно было где их искать... эти методы Это сообщение отредактировал(а) gcc - 31.1.2009, 00:13 |
|||
|
||||
| NuINu |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 131 Регистрация: 19.7.2008 Репутация: 5 Всего: 6 |
объект c или Сatalyst в ТТ,
это и есть объект класса приложение к примеру MyApp (из примера) там есть строчка use Catalyst qw/ ..... Authentication ...... это добавляет плагин Catalyst::Plugin::Authentication к классу приложеня MyApp в нем есть куча методов и в частности user user_exists да, а уже то что возврящает user имеест свой метод username(а может это всего лишь поле в хеше) но вообще говоря архитектура опирается на иделологию класса Class - довольно таки сложная. я не доконца еще в ней разобрался. думаю если вы вставите в пример MyAuth Books.pm след код, получите массу разнообразной информации #для очень крутой отладки! use Devel::Symdump; use Data::Dumper; sub d1 : Private { my $c = shift; # !!!!!!!!!!!!! ниже указать Название класса приложения!!!!!!!!!!!! my @pkg = qw(MyAuth Catalyst::Plugin::Authentication); my $obj = Devel::Symdump->rnew(@pkg); print "Scalars:\n"; my @array = $obj->scalars; foreach (@array) { print "$_\n"; } print "Arrays:\n"; @array = $obj->arrays; foreach (@array) { print "$_\n"; } print "\nHashes:\n"; @array = $obj->hashes; foreach (@array) { print "$_\n"; } print "\nFunction:\n"; @array = $obj->functions; foreach (@array) { print "$_\n"; } print "\n------------------------------------------\n"; print Dumper($c); print "\n------------------------------------------\n"; } sub list : Local { my ($self, $c) = @_; $c->stash->{books} = $c->model('Book')->{manager}->get_books( sort_by => ['title'], ); $c->stash->{template} = 'books/list.tt2'; d1($c); } |
|||
|
||||
| gcc |
|
||||
![]() Агент алкомафии ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2691 Регистрация: 25.4.2008 Где: %&й Репутация: 1 Всего: 17 |
аномалия какая-то
есть код, это файл login.pm
ошибка
почему "login" из param идет в шаблон? шаблон ругается на то что откуда-то взляся login шаблон работатет, тестовые страницы работают Это сообщение отредактировал(а) gcc - 31.1.2009, 13:22 |
||||
|
|||||
| NuINu |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 131 Регистрация: 19.7.2008 Репутация: 5 Всего: 6 |
где появляется логин видно из трассировки ошибки.
Caught exception in MyApp::View::HTML::Template->process "HTML::Template->new() : Cannot open included file login : Catalyst::View::HTML::Template::render('MyApp::View::HTML::Template=HASH(0x9799994)', 'MyApp=HASH(0x9b1e488)', 'login') called at /usr/local/lib/perl5/site_perl/5.8.8/Catalyst/View/HTML/Template.pm line 59 код который ты привел не имеет к этому никакого отношения, ошибка связана с работой твоего шаблонизатора... возможно неправильным шаблоном. |
|||
|
||||
| gcc |
|
||||
![]() Агент алкомафии ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2691 Регистрация: 25.4.2008 Где: %&й Репутация: 1 Всего: 17 |
NuINu, спасибо, поставил в самый вверх путь к шаблону, заработало!
1) в книге нашел такую цитату, но не могу понять как ее использовать? к чему это, нужно модуль свой написать для кармы? но как модуль который будет сюда прикрутить?
2) как сделать чтобы была доступаня страница под адрессу http://domain.com/ (без параметров) не могу найти как это сделать, какой это контроллер? 3) есть таблица users, и в ней столбец active, если я хочу, например, написать пользователю что он не активен во всех или нескольих контрллерах, нужно использовать begin : Private или как-то под другому, как правильно? (или тут просто $c->forward($calss,$method) поможет?) 4) не получилось перевети и понять смысл:
что такое :global, :privat и ;local? Args - это массив который идет как param просто парметры /Args[0]/Args[1]/Args[2] sub bar : Path('foo/bar') { } - этот метод будет загружатся если путь такой 'foo/bar' http://search.cpan.org/~hkclark/Catalyst-M...od#Action_types не могу понять как использовать Catalyst::DispatchType::Chained http://search.cpan.org/~mramberg/Catalyst-...Type/Chained.pm ? Это сообщение отредактировал(а) gcc - 1.2.2009, 19:19 |
||||
|
|||||
| gcc |
|
|||
![]() Агент алкомафии ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2691 Регистрация: 25.4.2008 Где: %&й Репутация: 1 Всего: 17 |
кстате, если пользователь хочет скрыть какую-то информацию (программно), то целесобразно тут использовать Catalyst::Plugin::Authorization::Roles ?
Это сообщение отредактировал(а) gcc - 1.2.2009, 20:00 |
|||
|
||||
| NuINu |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 131 Регистрация: 19.7.2008 Репутация: 5 Всего: 6 |
1: Здесь речь идет уже не о аутентификации(идентификация кто - это), а авторизации(т.е о правах пользователя идентификация - а что ему можно)
конкретно правах на основе некоего счетчика - карма - он ведется отдельно, считай как на форуме. так вот при достижении конкретного значения счетчика пользователю открываются некие возможности а именно доступ в /bonus/area 2: Root.pm метод default 3: выясни, прежде всего для себя чего ты хочешь добиться этим полем - актив. либо запрета аутентификации тогда актив имеет занчение 0 и 1. и мы ограничиваем пользователя по маске, либо все, либо ничего. либо мы ограничиваем пользователя в некоторых правах, т.е. в авторизации. тогда это поле может содержать (имя отношение один(пользователь) ко многим (активе)) список ссылок (к которым данный пользователь имеет доступ и некие условные обозначения к примеру NULL и ALL) это будет пример авторизации на основе списков доступа хранящихся персонально для каждого пользователя в базе 4: я пользуюсь гугл переводчиком, думаю он поможет и тебе. global, local .... perldoc Catalyst::Manual::Intro все я спать |
|||
|
||||
| gcc |
|
|||
![]() Агент алкомафии ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2691 Регистрация: 25.4.2008 Где: %&й Репутация: 1 Всего: 17 |
понтяно при 0 - запретить, при 1 оазрешить я хотел запретить публиковать и разрешить смотреть. Вопрос хотел узнать про то, куда мне это вставить, точнее мне нужно как-то метод в модуле аутентификации переопределить? чтобы не ковырять сам модуль, ну и чтобы дополнительный SQL dbi запрос не делать? Это сообщение отредактировал(а) gcc - 2.2.2009, 23:49 |
|||
|
||||
| NuINu |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 131 Регистрация: 19.7.2008 Репутация: 5 Всего: 6 |
так вот, 0 и 1 это разрешить запретить аутентификацию! т.е ригистрацию пользователя. а значит здесь управляем на уровне доступа ко ВСЕМУ ресурсу.
то о чем ты говоришь это уже уровень авторизации, т.е управление доступом для АУТЕНТИФИЦИРОВАННЫХ полльзователей. посмотри учебник по Authorization таким образом если делать авторизацию с использованием ролей надо создать роли viewer и editor и соответсвенно присвоить пользователям эти роли. а в контроллерах проверять какую роль играет текущий пользователь. на счет запроса SQL- не надо экономить на спичках. а модуль ковырять и не надо подлючаешь в головном модуле модуль Authorization и все. |
|||
|
||||
| gcc |
|
||||||
![]() Агент алкомафии ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2691 Регистрация: 25.4.2008 Где: %&й Репутация: 1 Всего: 17 |
но если у меня этих контроллеров штук 100, в каждом контроллере это менять? тогда переделать модуль который смотрит логин и пароль, чтобы он смотрел сразу остальное... спасибо Добавлено @ 16:54
а гостевую сессию как туда вставить? или не активного пользователя, так наверное
Добавлено @ 16:56 очень много всего в этом каталисте, потерятся можно... вообщем я написал - работает... сейчас буду прикручивать остальое... Это сообщение отредактировал(а) gcc - 3.2.2009, 17:01 |
||||||
|
|||||||
| gcc |
|
||||
![]() Агент алкомафии ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2691 Регистрация: 25.4.2008 Где: %&й Репутация: 1 Всего: 17 |
подскажите, как вывести имя пользователя?
выводится ссылка на хэш, если написать так
то число 1/8 Это сообщение отредактировал(а) gcc - 6.2.2009, 03:26 |
||||
|
|||||
| gcc |
|
|||
![]() Агент алкомафии ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2691 Регистрация: 25.4.2008 Где: %&й Репутация: 1 Всего: 17 |
что такое MyAuth? запутался, как в другом модуле посмотреть отладку? кстате, если отладку вклчить в каиалисе это тоже самое? пробовал так не получается my @pkg = qw(MyApp MyApp::Controller::Root); my @pkg = qw(Root MyApp::Controller::Root); Это сообщение отредактировал(а) gcc - 6.2.2009, 03:29 |
|||
|
||||
![]()
|
| Правила форума "Perl" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |