2010-12-15 2 views
3

Zend의 첫 번째 사용자 로그인 작업을하고 있지만 Zend_Auth와 약간 혼동 스럽습니다. 내가 읽은 모든 기사는 컨트롤러에서 직접 사용합니다. 그러나 나에게 그것은 사용자 모델에서 작업하는 것이 더 합리적입니다. 따라서 모든 컨트롤러가 이러한 기능을 호출 할 수 있습니다.모델 또는 컨트롤러에서 Zend_Auth를 사용할 위치는 어디입니까?

너희들은 어떻게 생각하니?

젠드 프레임 워크 모델에 관한 문서는 거의 없습니다.

답변

1

Zend_Auth :: getInstance()는 필요한 모든 컨트롤러에서 사용할 수 있도록 인스턴스를 반환하므로 성공한 로그인시 데이터를 저장하도록 shure를 만들면 인증 또는 테스트를위한 모델이 필요하지 않습니다. 사용자가 인증되었습니다. (당신이 필요로 할 때 메모리에 불필요한 모델 클론을로드하는 모델을 가지고 있다면 ... 인증 된 사용자는 테스트를 부트 스트랩에 두어야합니다.)

수정 하시겠습니까?

하나의 컨트롤러 마녀가 인증과 로그 아웃을위한 행동을하도록합니다. 당신은 별도의 세션을 유지해야합니다. 당신은 간단한 링크로 loggout 함수를 호출 할 수 있으며 $ _SERVER [ HTTP_REFERER ']; 그래서 사용자는 loggout을 클릭했을 때보고 있던 페이지로 돌아갑니다.

+0

답장을 보내 주셔서 감사합니다. 한 가지 더 궁금한 점이 있습니다. 모든 컨트롤러에서 필요할 수있는 로그 아웃 작업은 어떻게해야합니까? 아니면 도우미를 만들어야합니까? – networkprofile

0

정상적인 웹 앱 "model-view-controller"패러다임 (끝까지 끝내지 않는 argued 일 수 있음)에서보기/컨트롤러 섹션에는 사용자의 개인 경험과 관련된 코드가 있어야합니다. 모델은 데이터와 상호 작용하기위한 것이어야합니다. 데이터를 변환하고 저장하고 검색하는 메소드와이를 포함 할 멤버를 포함해야합니다. 비즈니스 논리, 인증 및 기타 세션 관련 정보와 관련된 모든 것은 "모델"에서 제외되어야합니다.

관련 문제