我正在使用Yii2开发一个rest API,前端是由ionic开发的。这种情况是,当我有一个动作时,它使用了持有者身份验证。它工作得很好,但访问令牌与响应主体一起返回,这导致客户端中的HttpErrorResponse:
SyntaxError: Unexpected token y in JSON at position 0 at Json.parse
返回的响应如下所示,因此客户端无法解析json
y2sSCEXqkUoVY2BjkQZqx8g3W42273Cz{"success":false,"message":"you liked it b
我尝试启用RateLimiter并跟踪Yii2 的文档
我用登录的用户测试它,在信息日志中我有:
2020-04-21 16:50:35 [172.18.0.1][5][-][info][yii\filters\RateLimiter::beforeAction] Rate limit skipped: user not logged in.
2020-04-21 16:50:35 [172.18.0.1][5][-][info][yii\web\User::login] User '5' logged in from 172.18.0.1. Session not enabl
我使用yii2 (2.0.13)。当我用ajax发送数据时,返回响应包含一个错误。
我的代码:
namespace frontend\controllers;
use Yii;
use yii\rest\ActiveController;
class CityController extends ActiveController
{
public $modelClass = 'frontend\models\City';
public function actions()
{
$actions = parent::actio
我开发了一个基于Yii2框架的网络应用程序。web应用程序根据用户类型使用RBAC系统进行操作授权(Admin、Employee、system )。现在我正在开发一个移动应用程序,我为这个移动应用程序的控制器创建了一个新的模块“移动”。在这些新的控制器中,我用CORS和身份验证器设置了行为函数,这些操作没有问题。我还设置了RBAC系统,就像我为web应用程序所做的那样,但是在移动模块中不起作用。有人能帮我设置控制器/动作的授权吗?
public function behaviors()
{
$behaviors = parent::behaviors();
这是我的控制器
namespace api\controllers;
use common\models\User;
use Yii;
use yii\rest\ActiveController;
use yii\filters\auth\CompositeAuth;
use yii\filters\auth\HttpBasicAuth;
use yii\filters\auth\QueryParamAuth;
use common\models\Authentication;
class AuthenticationController extends ActiveController
我在发出post请求时收到以下错误:
XMLHttpRequest cannot load http://api.dev/v1/call-rates/base/search. Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:63342' is therefore not
为什么不在Rest Yii2中显示关系数据
我有两张桌子。
示例:类别,子类别
<?php
namespace app\controllers;
use app\models\Category;
use yii\web\NotFoundHttpException;
use yii\web\Response;
use yii\rest\Controller;
class ApiController extends Controller
{
public function behaviors()
{
$behaviors = parent::b
我正在做一项微服务。它基本上有登录和注册。我遵循了Yii2的官方指南。但现在我面临着一个问题。当我尝试向受保护的端点发送请求(只有拥有access_token的用户才能发出请求)时,它会工作,但非常奇怪,它会检查数据库中的所有行,如果access_token与数据库中的任何行匹配,它就会允许请求。但我想要的是-我正在尝试获取用户信息,如果我传递令牌,我只想要属于当前用户(其令牌在请求中)的信息。
我在我的UserController中这样做-
public function behaviors() {
$behaviors = parent::behaviors();
$beh
我用Yii2中的模型实现了API的结构。所有的操作都很有用(索引、创建、更新等等)。以及方法(获取、张贴、放置等)但是我对ContentNegotiator类有一个问题。具体来说,如果我作为获取要翻译响应的语言的参数传递,这将被忽略。根据设置响应语言的文档,我们需要设置允许的ContentNegotiator语言(查看我的behaviors())并提出如下请求:
但人们的反应仍然是英语。为什么?不反对英语=)
这是我的ActiveController子类,它从yii\rest\Controller扩展而来。
use yii\rest\ActiveController;
use yii\fil
我正在做Marionette.behavior.I试图在视图初始化时动态地传递行为散列,但是它没有被分配给view.because的behaviors对象,行为在视图构造的时候被初始化。因此,我们通过以下方式实现了解决方案,但这是实现它的正确方式吗?有没有其他方法可以实现呢?为什么不允许动态传递行为?
代码如下:
var Behaviour = new Marionette.Application();
Behaviour.addRegions({
mainRegion:"#main-region"
});
var Person = Backbone.Model.