는 여기 젠드 인증을 통해 로그인 시스템을 만들어 이제 코드젠드 세션 및 젠드 인증
// userAuthentication
public function authAction(){
$request = $this->getRequest();
$registry = Zend_Registry::getInstance();
$auth = Zend_Auth::getInstance();
$DB = $registry['DB'];
$authAdapter = new Zend_Auth_Adapter_DbTable($DB);
$authAdapter->setTableName('user')
->setIdentityColumn('user_name')
->setCredentialColumn('user_password');
$username = $request->getParam('username');
$password = $request->getParam('password');
$authAdapter->setIdentity($username);
$authAdapter->setCredential($password);
$result = $auth->authenticate($authAdapter);
if($result->isValid()){
$data = $authAdapter->getResultRowObject(null,'password');
$auth->getStorage()->write($data);
$this->_redirect('/login/controlpannel');
}else{
$this->_redirect('/login/login');
}
}
에게이 작품의 벌금을입니다했다. 사용자 이름과 비밀번호가있는 user_id (열)가 사용자 (테이블)에 있습니다. 나는 (이름)의 ControlPanel 단지 로그인이 테이블에서 특정 USER_ID를 얻고 나는이 $의 USER_ID에 대한 몇 가지 정보를 조회 할 수 있도록
$user_session = new Zend_Session_Namespace('user_session');
$user_session->username = $username;
$user_id->user_id = $user_id;
을 통해 세션에 넣어 볼에 결과를 전달해야
왜 수동으로 세션에 넣으시겠습니까? 일단 로그인하면 세션이 생성되고 저장 장치에서 가져올 수 있습니다. –
@Teez 어떻게 스토리지에서 user_id를 얻을 수 있습니까 ??? –
$ data = Zend_Auth :: getInstance() -> getStorage() -> read(); $ this-> view-> username = $ data-> user_name; $ this-> view-> id = $ data-> user_id; –