Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal,
no meu site eu tenho a parte administrativa e a default.
Acontece que quando eu me logo na parte administrativa, o mesmo valor de autenticação fica sendo utilizado tanto para a parte administrativa como para a default.
Eu gostaria de separar isso. Como eu posso estar fazendo isso?
Segue abaixo meu cód de autenticação pelo Zend_Auth.
A unica diferença para o outro módulo, é que ao inves de puxar da entidade de clientes, puxa da entidade de funcionários.
function loginAction()
{
$this->_helper->removeHelper('viewRenderer');
$this->_helper->layout->disableLayout();
$clientes = new Clientes();
if($this->getRequest()->isPost())
{
$auth = Zend_Auth::getInstance();
$filter = new Zend_Filter_StripTags();
$login = $filter->filter($this->_request->getPost('login'));
$senha = $filter->filter($this->_request->getPost('senha'));
$authAdapter = new Zend_Auth_Adapter_DbTable($clientes->getAdapter(), 'clientes');
$authAdapter->setIdentityColumn('login')
->setCredentialColumn('senha');
$authAdapter->setIdentity($login)
->setCredential($senha);
$result = $auth->authenticate($authAdapter);
if($result->isValid())
{
$clientes = new Clientes();
$regCliente = $clientes->fetchRow("login = '".$login."'");
$storage = new Zend_Auth_Storage_Session();
$data = $authAdapter->getResultRowObject();
$data->idcliente = $regCliente->idcliente;
$storage->write($data);
$this->_redirect('index');
}
else
{
echo "<script language='javascript'>alert('Login/senha Invalido(s)');</script>";
echo "<script language='javascript'>self.location = 'index';</script>";
//$this->view->msg = 'Login/Senha invalido(s).';
}
}
}Carregando comentários...