0

アプリケーションに yii フレームワークを使用しており、リモート サーバーで認証される一連のユーザーが必要です。

アプリケーションでのユーザー ロールはほとんどありません。例:

  • スーパー管理者
  • ブランド管理者
  • お客様など...

すべての顧客レコードは、リモートの MySQL データベースにあります。yii アプリケーションを介して顧客を認証する必要があります。私の yii アプリケーションは別のサーバーでホストされます。

投稿リクエストに応答するために、リモート サーバーに php スクリプトを配置できると仮定してください。

これを行うには、独自の UserIdentity クラスを作成する必要がありますか?

これについて私を助けてください。ありがとう

4

2 に答える 2

2

リモートサーバーにスクリプトを入れる必要はないと思います。必要なのは

1. Access the remote Db, and Yii allows the use of [multiple-databases][1].
2. Adjust the model(s) you are using for Authentication/Authorization (usually the User model) to load it's data from the remote database

最初のタスクの場合:

// protected/main/config.php

return array(
...
'components' => array(
    'db' => array(
        'connectionString' => 'mysql:host=dbserver1;dbname=my1db',
        ...
    ),
    'remotedb' => array(
        'connectionString' => 'mysql:host=adserver2;dbname=advertisingDB',
        'username'         => 'username',
        'password'         => '***********',
        ...
        'class'            => 'CDbConnection'          // DO NOT FORGET THIS!
    ),

2 番目のタスクの場合:

Authenticate & Authorizeに使用しているモデルの場合、関数をオーバーライドしてgetDbConnection()、リモート サーバーから必要なデータをロードする必要があります。WikiHowを確認してください。

はい。UserIdentityデフォルトのロジックは単なる例であり、実際の運用サイト用ではないため、リモート データベースを使用していなくても、実際には通常のタスクです。

幸運を!

于 2012-08-17T12:51:01.203 に答える
0

はい、コンポーネント UserIdentity を書き直して、独自のルール認証を作成する必要があります。

于 2012-08-17T11:29:59.987 に答える