'senha' varchar(255) NOT NULL PRIMARY KEY ('id'));Simples de entender ne ?A partir disso, entre no seu terminal, va para a pasta de seu aplicativo em Zend, e criemos o formulario de login para colocar na pagina inicial ( controller index e action index ):$ zf create form loginAbra o arquivo 'application/forms/Login.php' gerado, e coloque as linhasclass Application_Form_Login extends Zend_Form { public function init(){ // Define a pagina do action, no caso, o proprio action index de login. setAction('index'); // Metodo de envio do form. $this->setMethod('post'); // Nome de usuario. $this->addElement('text', 'login', array( 'label' => 'Login', 'required' => 'true', 'validator' => array('noempty') ) ); // Senha de usuario. $this->addElement('password', 'senha', array( 'label' => 'Senha', 'required' => 'true', 'validator' => array('noempty') ) ); // Botao de submissao. $this->addElement('submit', 'submit', array('label' => 'Entrar') ); }}E agora, no seu controller 'controllers/IndexController.php' escreva as linhas no action 'indexAction'public function indexAction(){ // Cria o objeto de formulario. $loginForm = new Application_Form_Login(); // E verificado se existem dados enviados via post ( caso de tentativa de login ). // Verifica se existem dados enviados via POST. if( $this->getRequest()->isPost() ) { // Salva os dados enviados via post no array '$data'. $data = $this->getRequest()->getPost() ; // Verifica se os dados sao validos. if( $loginForm->isValid($data) ) { // Pega o nome de usuario e a senha enviados pelo POST. $login = $loginForm->getValue('login'); $pass = $loginForm->getValue('senha'); /////////////////////////////////////////////////////////// // Pega as informacoes do adaptador do banco de dados. $dbAdapter = Zend_Db_Table::getDefaultAdapter(); // Inicia o adaptador Zend_Auth para banco de dados. // E definido a tabela do db e os campos que serao usados // para comparar com os campos de login. $authAdapter = new Zend_Auth_Adapter_DbTable($dbAdapter); $authAdapter->setTableName('usuarios') ->setIdentityColumn('login') ->setCredentialColumn('senha') ->setCredentialTreatment('MD5(?)'); // Aqui, a senha e transformada num hash md5 e so entao // comparado com a senha registrada no db ( que esta em md5 tambem ). // Se voce usa SHA1 ou outra codificacao, e aqui que vocE deve declarar. ////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////// // Agora, e comparado os dados digitados com os registrados. $authAdapter->setIdentity($login)->setCredential($pass); // Pega a instancia atual do Zend_Auth. $auth = Zend_Auth::getInstance(); // Pega o resultado da comparacao dos dados enviados com os registrados. $result = $auth->authenticate($authAdapter); // Caso o resultado seja positivo, o login e efetuado. if( $result->isValid() ) { // Pega o nome do usuario. $user = $authAdapter->getResultRowObject(); // Salva o nome do usuario para uso na sessao. $auth->getStorage()->write($user); // Redireciona para a primeira pagina apos o login. $this->_redirect("index/primeirapagina" ); } // Caso nao seja positivo ... else{ // Caso o usuario nao esteja registrado, e mostrado uma mensagem mostrando o fato. $this->view->messages = "Nao foi possivel realizar o login."; // Reimprime o formulario com os dados ja digitados. $this->view->loginForm = $loginForm->populate($data); } /////////////////////////////////////////////////////////// } // Caso os dados nao foram digitados corretamente, e reimprimido o formulario com os dados para correcao. else $this->view->loginForm = $loginForm->populate($data); } // Imprime por default o formulario na entrada do site. else $this->view->loginForm = $loginForm; }E a partir desse ponto, voce ja tem um sistema de login funcional, brinque um pouco com ele para er se esta tudo certo, porque agora vamos para a