Аутентификация Catalyst без DBIx - PullRequest
0 голосов
/ 18 января 2012

Я добавляю аутентификацию в свое приложение Catalyst. Приложение является портом из другой системы, поэтому я должен использовать текущий backoffice для некоторых вещей.

Одной из таких вещей является база данных пользователей. Это не SQL, и я должен получить к нему доступ через веб-сервисы.

После документов теперь у меня все работает, используя хэши для пользователя / пароля, как в примере Я также протестировал учебник по Catalyst с использованием DBIx.

Но теперь мне нужно подключить свою собственную модель, чтобы проверить и извлечь пользователя из реального офиса.

Где?

Из контроллера я вызываю плагин auth

$c->authenticate({ username => $username, password => $password  }

А в конфиге у меня (из учебника)

 __PACKAGE__->config('Plugin::Authentication' => {
    default_realm => 'members',
    realms => {
        members => {
            credential => {
                class => 'Password',
                password_field => 'password',
                password_type => 'clear'
            },
            store => {
                class => 'DBIx::Class',
                user_model => 'MyApp::User',
                role_relation => 'roles',
                role_field => 'rolename',
            }
        }
    }
});

Так, где я могу назвать свою модель веб-сервисов?

Заранее спасибо.

UPDATE: Чтобы пережить неделю, я отправил свой собственный запрос к веб-сервисам. Если результат в порядке, я передаю полученные данные в эту жестко закодированную область. Очень, очень, очень уродливый, но я поставил функциональность. Теперь я снова серьезен.

1 Ответ

1 голос
/ 19 января 2012

Похоже, вам нужно создать собственный хранилище авторизации :

store => {
  class => '+MyApp::Authentication::Store::NetAuth',
  authserver => '192.168.10.17'
}

Также посмотрите на Catalyst :: Authentication :: Store :: Minimal

...