내가 CakePHP는 매우 새로운이 너무 친절하게 나와 함께 부담입니다 로그인합니다. 나는 작은 과제를 수행하고 있으며 그것에 많은 것들을 완료했지만 문제가 발생했습니다. 내 과제에는 두 가지 다른 사용자 유형이 있는데, 두 가지 다른 로그인이 필요하거나 하나의 로그인으로 리디렉션 될 수 있습니다. 사용자 모델, 컨트롤러 및 테이블 사용에 대한 공식 자습서를 읽었으나 그 문제는 한 사용자 유형에만 해당됩니다. 내 응용 프로그램이 열리 자마자 로그인 페이지가 표시되고 사용자 유형 (관리자 또는 직원)에 따라 해당 색인 페이지로 리디렉션됩니다. 직원 테이블과 관리 테이블을 만들었으며 둘 다 사용자 이름과 암호 필드를 포함합니다. 자습서는 사용자 테이블에 사용자 이름과 암호 필드가 있어야한다고 말하지만 이미이 두 필드에이 필드가 있으므로 사용자 테이블을 사용하고 싶지 않습니다. 그래서 사용자 테이블을 전혀 사용하지 않고 사용자 로그인과 인증을 위해 현재 테이블을 사용하는 것이 가능합니다. 지난 몇 시간 동안이 문제에 빠졌기 때문에 친절하게 안내합니다. 제공된 도움이나 안내에 대해 매우 감사 할 것입니다.CakePHP의 여러 사용자 유형은
답변
하나의 모델 (User
) 만 사용할 수 있으며 type
필드의 값은 admin
및 employe
일 수 있습니다.
더 많은 테이블에서 같은 필드가되지 않습니다이 방법, 당신은 단지 하나의 로그인 양식을 가질 수있을 것이며, 사용자가 로그인 한 후, 당신은 오른쪽 페이지로 사용자를 리디렉션 할 수 있습니다. Auth
구성 요소에서
, 당신은 항상 현재 기록 된 사람이 무엇인지 사용자의 유형을 알고, 그래서 당신은 다른 컨트롤러에서 이것을 사용할 수 있습니다. 당신이 사용자 유형을 얻고 올바른 페이지로 리디렉션 할 수 있습니다, 그래서 여기에 사용자가 방금 로그인 한 후 dashboard
방법, 호출됩니다 -
AppController
에서는
public $components = array(
'Auth' => array(
'loginAction' => array(
'controller' => 'Users',
'action' => 'login'
),
'loginRedirect' => array(
'controller' => 'Users',
'action' => 'dashboard'
),
'logoutRedirect' => array(
'controller' => 'pages',
'action' => 'display',
'home'
),
'authorize' => array('Controller')
)
);
UsersController
당신의 논리는 매우 소리하지 않습니다. 관리자와 사용자가 동일한 사용자 이름을 사용하면 어떻게 될까요? 모든 사용자는 차별화 된 user_type_id
또는 동급의 동일한 테이블에 있어야합니다.
그러나 현재 구성표를 과으로 설정하려면 동일한 페이지에 로그인해야하며 사용자 페이지로 리디렉션에 성공하면 실패하고 실패 할 경우 사용자로 로그인을 시도해야합니다. 관리자로 다시 시도하십시오. 실패한 경우 관리자 페이지로 리디렉션이 성공하면 두 경우 모두 사용자 이름/비밀번호가 유효하지 않음을 의미합니다. 최소한이 방법은 일부 종류의 기본 보안을 얻습니다.
또는 단순한 role/role_id 필드. 팁 : [작은] (http://www.dereuromark.de/2011/12/18/tinyauth-the-fastest-and-easiest-authorization-for-cake2/) – mark
- 1. CakePHP의 사용자 정의 쿼리는 CakePHP의 표준
- 2. CakePHP의,
- 3. CakePHP의 여러 범위
- 4. CakePHP의 여러 협회
- 5. 바인딩 여러 모델 CakePHP의
- 6. CakePHP의 : HABTM 여러 번
- 7. CakePHP의 : 여러 주소
- 8. CakePHP의 내가 이런 여러 HABTM이 여러 HABTM
- 9. 사용자 정의 유형은
- 10. CakePHP의 사용자 컨트롤
- 11. CakePHP의 사용자 정의 글로벌 기능
- 12. CakePHP의
- 13. CakePHP의 여러 테이블에 데이터 추가
- 14. 사용자 별 Elasticsearch 유형은 무엇입니까?
- 15. 등록 사용자 정의 포스트 유형은
- 16. 표시 사용자 정의 포스트 유형은
- 17. 사용자 정의 된 데이터 유형은
- 18. CakePHP의
- 19. cakePHP의 역할 관리 사용자 인터페이스
- 20. cakephp의 사용자 정의 레이블 텍스트
- 21. CakePHP의 사용자 정의 나머지 라우팅
- 22. CakePHP의 개별 프로필/사용자 페이지
- 23. CakePHP의 사용자 정의 REST 경로
- 24. CakePHP의 Model에서 사용자 정보를 얻으십시오
- 25. cakephp의 웹 루트에서 사용자 리디렉션
- 26. CakePHP의 및 사용자 로그인 기능
- 27. CakePHP의 사용자 정의 데이터 양식
- 28. CakePHP의 인증 사용자 정보 내보기에서
- 29. CakePHP의
- 30. CakePHP의 여러 테이블에 대한 공통 열
대답을 주셔서 감사합니다 나는 당신이 말하는하지만 loginRedirect 및 logutRedirect이 둘 중 하나를 사용자 정의 할 수 있습니다 내가 직원을 위해 그것을 정의 무엇을 얻을. 그러나 사용자 역할이 admin 인 경우에는 어떻게해야합니까? 그 조건을 정의하는 곳은 어디입니까? 두 개의 $ 구성 요소를 사용할 수 있습니까? 아니면 UsersController 페이지에서 정의해야합니까? 그걸 말해 줄 수 있니? IT가 정말 도움이 될 것입니다. – user3224207