2012-01-18 44 views
0

我正在向我的Catalyst應用程序添加認證。該應用程序是另一個系統的端口,因此我必須使用當前的後臺來處理某些事情。無DBIx的Catalyst認證

其中之一就是用戶數據庫。它不是SQL,我必須通過Web服務訪問它。

以下docs現在我已經使用散列作爲用戶/密碼,如在示例中。我還使用DBIx測試了Catalyst教程。

但現在我需要插入我自己的模型來檢查和檢索用戶從真正的後臺。

哪裏?

從控制器我所說的身份驗證插件

$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', 
      } 
     } 
    } 
}); 

所以我在哪裏可以打電話給我的Web服務模型?

預先感謝您。

更新: 爲了生存我一週我自己的web服務查詢。如果結果正確,我將獲得的數據傳遞給硬編碼領域。非常,非常非常難看,但我提供了功能。現在我再次認真。

回答

1

看起來你必須創建自己的auth store

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

也期待在Catalyst::Authentication::Store::Minimal

+0

感謝。我的認證數據來自「網絡服務」,但它不是我可以通過IP訪問的預先存在的「網絡服務」。我可以使用SOAP :: Lite查詢遠程服務器,發送用戶名和密碼,並從用戶處返回數據。我不知道如何或在哪裏發送授權內的檢索數據。 – MIguelele 2012-01-24 12:06:12