2016-04-11 8 views
0

HIは私だけのYiiフレームワークを発見し、私はいくつかのガイドラインは、これを実装する必要があります。私はoverrideの方法[checkAccess][3]()を自分のコントローラに持っていなければならないと知っていますが、私はどの例も見つけられません。私のAPIにはトークンベースのBeare認証があり、セッションは無効(ステートレス)です。お使いのコントローラでYii2 - RESTful APIでRBAC認証を実装する方法私のRESTfulなアプリで...</p> <p><a href="http://www.yiiframework.com/doc-2.0/guide-security-authorization.html#rbac" rel="nofollow">Yii2 RBAC - Official Guide</a></p> <p>...

+2

使用RBAC。あなたが正しいトークンを送るなら、あなたはユーザーの身元を持っています。 – SiZE

+0

@SiZEはそれを得ました!ありがとう! – JJPunch

答えて

0

:いつものように

public function behaviors() 
    { 
     $behaviors = parent::behaviors(); 

     $behaviors['authenticator'] = [ 
      'class' => CompositeAuth::className(), 
      'authMethods' => [ 
       HttpBearerAuth::className(), 
      ], 
     ]; 

     // add CORS filter 
     $behaviors['corsFilter'] = [ 
      'class' => Cors::className(), 
      'cors' => [ 
       'Origin' => ['*'], 
       'Access-Control-Request-Method' => ['GET', 'POST', 'PUT', 'DELETE', 'OPTIONS'], 
       'Access-Control-Request-Headers' => ['*'], 
      ], 
     ]; 

     // avoid authentication on CORS-pre-flight requests (HTTP OPTIONS method) 
     $behaviors['authenticator']['except'] = ['options', 'login', 'signup']; 

     $behaviors['access'] = [ 
      'class' => AccessControl::className(), 
      'only' => [ 
       'update', 
       'delete', 
       'view', 
       'index', 
      ], 
      'rules' => [ 
       [ 
        'actions' => [ 
         'update', 
         'delete', 
         'view', 
         'index', 
        ], 
        'allow' => true, 
        'roles' => ['@'], 
       ], 
      ], 
     ]; 

     $behaviors['verbFilter'] = [ 
      'class' => VerbFilter::className(), 
      'actions' => [ 
       'signup' => ['POST'], 
       'login' => ['POST'], 
       'update' => ['PUT'], 
       'delete' => ['DELETE'], 
       'view' => ['GET'], 
       'index' => ['GET'], 
      ], 
     ]; 

     return $behaviors; 
    } 
+0

これは良い答えではありません。コードの詳細や解決方法を教えてください。 – aidinMC

関連する問題