2013-08-26 3 views
-1

데이터베이스를 사용하여 로그인 시스템을 만들 때 http://www.larryullman.com/2010/01/04/simple-authentication-with-the-yii-framework/을 따라갔습니다.
로그인 후 관리자 페이지에 액세스하려고 시도했는데 오류 403 yii 프레임 워크에서이 작업을 수행 할 수있는 권한이 없습니다.

Error 403 You are not authorized to perform this action

이 문제를 해결하는 방법은 무엇입니까?
내 액세스 규칙 참조
public function accessRules() 
{ 
    return array(
    array('allow', // allow all users to perform 'index' and 'view' actions 
     'actions'=>array('index','view'), 
     'users'=>array(''), 
    ), 
    array('allow', // allow authenticated user to perform 'create' and 'update' actions 
     'actions'=>array(), 
     'users'=>array('@'), 
    ), 
    array('allow', // allow admin user to perform 'admin' and 'delete' actions 
     'actions'=>array('admin','delete','create','update'), // 
     'users'=>array('admin'), 
     'expression'=>'isset($user->role) && ($user->role==="admin")', 
    ), 
    array('deny', // deny all users 
     'users'=>array(''), 
     ), 
    ); 
}

+0

모델에 사용 권한 (사용자 권한)을 추가해야합니다. Yii 가이드를 확인하십시오. –

+0

모델과 함께 제공되는 기본 권한이 있습니다. 변경해야합니까? – Shamsher

+0

액세스중인 관리자 페이지의 내용을 확인할 수 있습니까? 작성중인 사용자 유형에 대한 accessRules를 추가해야 할 수도 있습니다. 내 대답도 참조하십시오. 또한 게시 (귀하의 질문 하단에 추가) 당신이 무엇을 크게 도움이됩니다. –

답변

0

1 당신의 accessRules()가 (로그인) &에 대한 관리 조치를 허용하고 있으며, IT가 다른 모든 규칙의 상단에 적어도 JUST TOP에 넣어 있는지 확인 모든 권리 포기. 나쁘게 생각하지 마라. 항상 다른 모든 규칙들 위에 있어야 할 필요는 없지만 책의 기본 마지막 규칙은 *를 부정하는 것이다. 그래서 당신이 당신의 관리 규칙을 그 아래에두면, 당신은 액션 admin에 액세스 할 수있는 기회. 당신이 제대로 accessRules()을 업데이트 한 경우

public function accessRules() 
     { 
       return array(
         array('allow', // allow all users to perform 'index' and 'view' actions 
         'actions'=>array('index','view', 'checkout'), 
         'users'=>array('*'), 
        ) 
       ); 
     } 

2, 당신은, 당신이 로그인 할 때 사용하고 있는지 계정을 확인하는 데 필요한 관리자 페이지에 액세스 할 수있는 사용자입니다. 이 작업은 작업 사용자 관리에서 분명히 수행되며 역할 소유자에게 할당됩니다. 따라서 사용자는 현재 탐색중인 프로젝트의 소유자 여야합니다. 데이터베이스에서 선택하여 이동하십시오.

+0

내 수정 액세스 규칙을 참조하십시오. – Shamsher

관련 문제