Authentication 通过Yii框架中的远程服务器对用户进行身份验证

Authentication 通过Yii框架中的远程服务器对用户进行身份验证,authentication,yii,Authentication,Yii,我正在为应用程序使用yii框架,我需要一组用户通过远程服务器进行身份验证 我的应用程序中几乎没有用户角色。例如: 超级管理员 品牌管理员 顾客 等等 所有客户记录都位于远程MySQL数据库中。我必须通过我的yii应用程序对客户进行身份验证。我的yii应用程序将托管在不同的服务器上 请假设我可以在远程服务器中放置一个php脚本来响应我的post请求 我是否需要编写自己的UserIdentity类来执行此操作 请帮我做这个。 谢谢是的,您必须重写组件UserIdentity并创建自己的规则身份验

我正在为应用程序使用yii框架,我需要一组用户通过远程服务器进行身份验证

我的应用程序中几乎没有用户角色。例如:

  • 超级管理员
  • 品牌管理员
  • 顾客 等等
所有客户记录都位于远程MySQL数据库中。我必须通过我的yii应用程序对客户进行身份验证。我的yii应用程序将托管在不同的服务器上

请假设我可以在远程服务器中放置一个php脚本来响应我的post请求

我是否需要编写自己的UserIdentity类来执行此操作

请帮我做这个。
谢谢

是的,您必须重写组件UserIdentity并创建自己的规则身份验证。

我认为您不需要在远程服务器中放置任何脚本,您只需要

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
返回数组(
...
“组件”=>数组(
'db'=>数组(
'connectionString'=>'mysql:host=dbserver1;dbname=my1db',
...
),
“remotedb”=>阵列(
'connectionString'=>'mysql:host=adserver2;dbname=advisingdb',
“用户名”=>“用户名”,
“密码”=>“**********”,
...
'class'=>'CDbConnection'//别忘了!
),
对于第二个任务:

对于用于验证和授权的型号,您需要覆盖
getDbConnection()
函数以从远程服务器加载所需数据。 检查该文件的方式

是的,您需要编写自己的
UserIdentity
类,实际上这是一项常见的任务,即使您没有使用远程数据库,因为它的默认逻辑只是一个示例,不适用于实际的生产站点


祝你好运!

嗨,尼米尔,谢谢你的帮助。根据你的建议,我为远程用户身份验证创建了另一个用户模型。现在一切都很好!