私は現在、YII に基づいてアプリケーションを作成しています。
インデックスに対する私のアクション:
public function actionIndex() {
$data = array();
$data['server'] = Server::model()->findByPk(1);
$data['dataProvider'] = new CActiveDataProvider('ServerUserPermission', array('criteria' => array('condition' => 'serverID=:id', 'params' => array(':id' => 1))));
$this->render('index', $data);
}
私のajaxアクション:
public function actionAddPermission($server) {
if(Util::checkServerPower($server, Permission::MODIFY_SERVER)) {
$perm = new ServerUserPermission;
$perm->userID = 1;
$perm->serverID = $server;
$perm->power = 10;
try {
if ($perm->save()) {
echo "OK";
} else {
echo Util::print_r($perm->getErrors());
}
} catch (Exception $e) {
echo 'Critical Error Code: ' . $e->getCode();
}
} else {
echo 'No Permissions';
}
}
私のビューは、ボタンを使用して addPermission アクションにリンクしています。
echo CHtml::ajaxButton("Insert New Player", array('addPermission', 'server' => $server->serverID), array('success'=>'refresh'));
私の関数 Util::checkServerPower(...) は、アプリケーションの現在のユーザーをチェックします。結果: YII の Ajax リクエストはゲスト AuthWeb ユーザーによって処理されますが、ユーザーが実際にアクセス許可を追加できるかどうかを確認する必要があります。現在、他のゲストから送信された悪意のあるデータを保護するための安全なソリューションは考えられません。Ajax 呼び出しの (サーバー側の) ユーザー ID を取得することは何とか可能ですか?
とにかく心からありがとう