2013-05-11 3 views
0

YII를 사용하여 데모 프로젝트를 개발 중입니다.Y가 accessRules에서 어떻게 작동합니까?

내가 의심하는 부분은 accessRules() 함수입니다. (등록 된 사용자의 경우) 사용자 액세스를 확인하는 내 프로젝트에서

, 나는 사용자 로그인에 세션에서 값을 유지하고 그리고 난 accessRules에 '표현'컨텍스트 매개 변수를 사용하여 사용자 액세스를 확인하고 있습니다. 같은

뭔가 : 내가 '사용자'컨텍스트 매개 변수를 사용하려면이 같은 기능을

array('allow', 
     'actions'=>array('create','edit','delete'), 
     'expression' => '$this->isUser()' //isUser() returns bool value by checking session. 
    ), 

. 그러나 나는 '@'가 인증 된 사용자를 말하는 방식을 이해할 수 없다.

  1. 방법 '@'작동

    에서 accessRules을 알려주세요?.
  2. '@'을 다른 특수 문자 또는 고유 한 문자열로 변경할 수 있습니까?
+0

왜 변경 하시겠습니까?. –

+1

'IWebUser :: getIsGuest()'를 검사합니다. [구현] (https://github.com/yiisoft/yii/blob/1.1.13/framework/web/auth/CAccessControlFilter.php#L308)을 확인하십시오. – DCoder

+0

DCoder 감사합니다. 그렇다면 @는 하드 코딩 된 함수입니다. – Hearaman

답변

1

사용자가 로그인했음을 감지하기 위해 무엇을 사용하고 있습니까? 직접 세션 변수를 수동으로 설정 하시겠습니까?
http://www.yiiframework.com/doc/guide/1.1/en/topics.auth

를 그리고 이미 구현 시스템에 로그인 한 예를 들어 당신의 다운로드와 함께 제공되는 블로그 데모를 살펴 수 :

난 당신이 YII에 대한 로그인에 대한 내용은 여기를 살펴 보시기 바랍니다 데모 폴더의 프레임 워크. 로그인 프로세스에서 사용되는 파일을 하나씩 확인하면 쉽게 복사하여 프로젝트에 통합 할 수 있습니다. (예 : sitecontroller/login 액션, loginform, useridentity 구성 요소 등).

'@'기호는 로그인 한 사용자를 나타내고 '*'는 모든 사용자를 나타냅니다.

그래서 나는 배열의 '사용자의 키에 나는이 값 중 하나를 넣을 수 있다는 사실을 알고 :

  • 을'@ '모든 사용자 로그인
  • '* '모든 사용자
  • ' 배열 ('사용자 이름 1', '사용자 이름 2', 'USERNAME3') '- 특정 사용자 만 유용 할 수 있습니다

다른 자원 :
http://www.larryullman.com/2010/01/04/simple-authentication-with-the-yii-framework/

+0

Alexandru, 정보를 제공해 주셔서 감사합니다. – Hearaman

+0

당신은 환영 할 만하다. 그러나 복잡하지는 않을지 모르지만, 당신은 모든 부분이 무엇을하는지 이해할 때 알게 될 것이다. :) –

관련 문제