2013-08-08 3 views
0

그래서 내가 두 모델CakePHP의 사용자 컨트롤

고객

직원

이 두 가지 사이의 주요 차이점

을하는 직원이 몇 가지 다른 고급 컨트롤을 가지고 있습니다.

이제 로그인하는 사용자에 관계없이 쿠키를 설정해야합니다 (쿠키가 나에게 아이디어를주기 위해 중요하지 않은 것).

내 직원이 고객보다 더 많은 옵션과 조치를 취한 이후로 고객을위한 별도의 색인보기가 있습니다.

내 질문에 두 가지 유형의 사용자가 쿠키를 설정해야하므로 클라이언트 로그인 컨트롤러에서 "알 수없는 사람이 로그인하려고합니다."-> "사용자가 있는지 클라이언트 모델을 확인합니다"라는 의미로이 작업을 수행 할 수 있습니다. if "사용자가 존재하면 직원 통제자를 확인하지"않습니다. "사실이라면"- "쿠키 설정"-> "직원보기 색인으로 이동"

이 방법이 유용 할 수 있습니다. 내가 이것을해야하는 이유는 클라이언트 테이블에 사용자와 같은 신을 만들고 싶기 때문입니다. 내 고객 표는 많은 조인으로 구성되어 있으며 일반 클라이언트 (프록시와 같은 종류)와 똑같이 보일 "하느님 같은"사용자를 만드는 것이 더 쉬울 것입니다.

답변

2

나는 이것이 잘못된 길로 간 것 같아요.

이상적으로는 users 테이블과 해당 User 모델을 가지고 있어야하며 ACL을 사용하여 사용자가 수행 할 수있는 작업과 수행 할 수없는 작업을 결정해야합니다. 클라이언트 및 직원에 대한 역할을 만들고 이러한 그룹에 대한 사용 권한을 설정하고 각 사용자를 그룹에 할당 할 수 있습니다.

저장할 클라이언트 및 직원 관련 데이터가있는 경우 이러한 테이블/모델을 생성하고 사용자에 속하도록 설정할 수 있습니다.

+0

이것은 실제로 정확히 무엇을했는지입니다. 클라이언트는 ACL을 사용하여 만들었지 만 클라이언트 테이블의이 ID로 인해 직원을 만드는 새로운 요청이 만들어졌습니다. 지금은 "admin id"이고 로그인 할 때 필요한 것은이 정적 ID를 수집하는 것입니다. 새로운 직원을 만들 때 더 잘 설정하십시오. 유일하게 진짜 questio는 나중에 다른보기로 리디렉션 할 수 있습니까? –

+0

두 개의 모델이 있다면 그것은 당신이 한 일이 아닙니다. ACL은 사용자가 클라이언트인지 직원인지를 지정해야합니다. 모델 그 자체가 아닙니다. ACL을 사용하면 원하는 경우 한 그룹에 대한 액세스를 완전히 제한 할 수 있습니다. –

+0

방금 ​​사장님이 ACL을 사용하지 않고 수정했는데 설치하는 것이 좋습니다. –