私はCatalystアプリケーションに認証を追加しています。アプリは別のシステムのポートですので、現在のバックオフィスをいくつかのものに使用する必要があります。
そのうちの1つはユーザーデータベースです。そのSQLと私はそれをWebサービスを介してアクセスする必要があります。
以下 ドキュメント この例のように、ユーザー/パスワードのハッシュを使って作業しています。また、DBIxを使用してCatalystチュートリアルをテストしました。
しかし、実際のバックオフィスからユーザを確認して取得するために、私自身のモデルを接続する必要があります。
どこ?
私は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",
}
}
}
});
だからどこで私のWebサービスモデルを呼び出すことができますか?
前もって感謝します。
更新: 週に生き残るために、私は自分のwebservicesクエリを作成しました。結果がOKならば、取得したデータをこのハードコードされた領域に渡します。非常に、非常に、非常に醜いですが、私はその機能を提供しました。今私は再び深刻です。
回答:
回答№1は1自分で作成する必要があるようです 認証ストア:
store => {
class => "+MyApp::Authentication::Store::NetAuth",
authserver => "192.168.10.17"
}
また見てください Catalyst ::認証::ストア::最小