2010-04-28 1 views
0

내 프로젝트에 cakephp 프레임 워크를 사용하고 있습니다. 하지만 문제는 내 프로젝트에 admin, user, employer, bla bla.if와 같은 네 명의 사용자가 동시에 로그인하는 것보다 어떻게 로그인 할 수 있는지에 대한 것입니다. 그래서 PLZ 도와주세요 .....cakephp에서 관리자와 사용자를 인증하는 방법

덕분에 사전

답변

1

에 당신은 인증 구성 요소를 사용하는 것이 좋습니다. 매뉴얼 페이지에 보면,

http://book.cakephp.org/view/172/Authentication 그런 다음, 내 Users 테이블에 사용하는 경향이 무엇인지, 내가 열, permissions 또는 유사한을 추가 할 것입니다, 다음이 열에 사용자 유형에 추가 할 수 있습니다.

그런 다음 app_controller.php에서 isAuthorized() 기능을 사용하여 다양한 컨트롤러 동작에 대한 수준을 확인할 수 있습니다.

가능한 많은 방법이 있습니다. 원하는 경우 ACL을 사용할 수도 있습니다.

1

기본적으로 CakePHP는 User auth component와 같은 모델을 사용합니다. 한 유형의 사용자에게는이 모델을, 나머지 사용자 유형에는 다른 모델을 사용할 수 있습니다. 이렇게하면 모든 유형의 사용자가 한 대의 컴퓨터에서 동시에 사이트에 로그인 할 수 있습니다. 이 작업을 수행하지 않으면 한 번에 한 가지 유형의 사용자 만 로그인 할 수 있습니다.

+0

감사합니다하지만이 데모를 줄 수 –

+0

미안 해요 'sessionKey', 위의 의견에서 '모델'아닙니다 의미. 데모? 아니, 할 수 없어. 나는 당신의 Cake에 대한 이해 수준을 모르지만 이미 제공된 링크로부터 Auth 구성 요소에 대해 배워야합니다. ($ user_type == 'admin') { \t $ this-> Auth-> loginRedirect = array ('controller'=> 'admin_after_login', 'action'== 'admin') beforeFilter() > 'index', 'admin'=> true); \t $ this-> Auth-> logoutRedirect = array ('컨트롤러'=> '사용자', '동작'=> '로그 아웃', '관리자'=> 참); \t $ this-> Auth-> sessionKey = 'Admin'; \t \t $ this-> layout = "admin"; } 위의 sessionKey를 참조하십시오. 그것의 중요성. –

+0

** Cake 2 ** sessionKey는 정적 속성이기 때문에 변경할 수 없습니다. (http://cakephp.lighthouseapp.com/projects/42648/tickets/2207-authcomponentsessionkey-property-cannot-be-changed)를'$ this-> Auth-> sessionKey = "Anything"으로 설정하십시오. 당신은'AuthComponent :: $ sessionKey = "Anything"으로 변경해야합니다; – Choma