Fabyo 66 Denunciar post Postado Janeiro 30, 2009 Fabyo... estou tendo um problema em rodar essa aplicação de login.......todo os outro exemplos que você deu... funcionou sem problema....... pode me ajudar??? Fatal error: Uncaught exception 'Zend_Session_Exception' with message 'session has already been started by session.auto-start or session_start()' in /var/www/library/Zend/Session.php:427 Stack trace: #0 /var/www/library/Zend/Session/Namespace.php(124): Zend_Session::start(true) #1 /var/www/library/Zend/Auth/Storage/Session.php(87): Zend_Session_Namespace->__construct('Zend_Auth') #2 /var/www/library/Zend/Auth.php(91): Zend_Auth_Storage_Session->__construct() #3 /var/www/library/Zend/Auth.php(133): Zend_Auth->getStorage() #4 /var/www/application/controllers/plugins/SecurityPlugin.php(8): Zend_Auth->hasIdentity() #5 /var/www/library/Zend/Controller/Plugin/Broker.php(260): SecurityPlugin->routeShutdown(Object(Zend_Controller_Request_Http)) #6 /var/www/library/Zend/Controller/Front.php(903): Zend_Controller_Plugin_Broker->routeShutdown(Object(Zend_Controller_Request_Http)) #7 /var/www/library/Zend/Controller/Front.php(214): Zend_Controller_Front->dispatch() #8 /var/www/index.php(46): Zend_Controller_Front::run('application/co in /var/www/library/Zend/Session.php on line 427 você mudou alguma coisa do exemplo? isso acontece quando se da algum echo antes do header ou session Compartilhar este post Link para o post Compartilhar em outros sites
Fabyo 66 Denunciar post Postado Janeiro 30, 2009 Fabyo estou testando o Sistema de Login, fiz os ajustes e consegui logar beleza, porém na hora que redirecionapara a página index.js Firebug acusa um erro nesta página. Ext.menu.RangeMenu is undefined - ext.js linha 7 Ext.menu.RangeMenu.prototype.icons = { O que está errado? isso tem haver com um plugin de pesquisar no grid, se nao tiver usando só apagar a linha que inclui esse js Compartilhar este post Link para o post Compartilhar em outros sites
Daniel_Ribeiro 1 Denunciar post Postado Janeiro 30, 2009 Grande fabyo.. muito bom esse esquema de autenticacao. Só que na realidade pode ter uma falha de segurança desse jeito, pois ali no arquivo SecurityPlugin.php onde você dá o setRedirect ele só irá redirecionar para outra página depois de ser executado o método de seu controller. Ou seja, o usuário que não estiver logado, ainda vai poder executar o método (mesmo que ele seja redirecionado para a página de login, pois o redirect só acontece no final do processo). Teste por exemplo em qualquer método de seu controller dar um echo 'alguma_coisa' e depois exit(). (onde ele mata o script). você vai ver q ele nem vai dar o redirect e vai morrer no método do controller mesmo (ou seja, o controller foi executado). Para não ter esse tipo de problema modifiquei o setRedirect pelo header('Location:') do php mesmo. e um exit logo apos o header para poder matar mesmo o script e nao executar nada depois. //$this->getResponse()->setRedirect($sBaseUrl . '/login/', 302); header('Location: ' . $sBaseUrl . '/login'); exit; Não sei se tem como configurar esse setRedirect do zend para ser executado logo que é chamado, mas como ele só é executado depois de processar o método no controller, não seria uma boa utiliza-lo como meio de segurança. Não tem falha de segurança nao, porque ele só ira entrar no modulo se o usuario tive logado, senao ele sempre vai cair no login, mesmo que ele tente acessar outra pagina ele vai pro login e caso queria que seja redirecionado antes você pode mudar o metodo e chamar na hora que achar melhor por exemplo em vez de usar o routeShutdown use routeStartup mas como falei o metodo routeShutdown é chamado no plugin antes do run ou dispatch Então na realidade, a questão não é nem no routeShutdown ou routeStartup, e sim no método setRedirect do objeto Response. o método setRedirect ao que me parece somente faz o redirect após a página ser processada. De certa forma, o usuário é redirecionado para a página de login, PORÉM, o método que ele chamou do controller no qual ele não tem acesso, é executado. Crie por exemplo um método em algum controller que o usuário não tenha acesso, e manda matar a aplicação, algo do tipo public function metodoProtegidoAction(){ die('consegui executar o metodo protegido'); } Ao acessar o controller chamando o metodo-protegido, você verá que ele é executado. Ou seja, embora o usuário seja redirecionado para a página de login, o método que ele chama no controller ainda é executado. Foi aí que utilizei ao invés do setRedirect o header('Location:...'). Pode ser que tenha algum tipo de configuração no setRedirect que faz o redirect logo quando é chamado, mas não consegui encontrar nada a respeito. Compartilhar este post Link para o post Compartilhar em outros sites
Fabyo 66 Denunciar post Postado Janeiro 30, 2009 beleza entendi o que você tava falando, vou ver se acho como fazer ele ser executado na hora, senao use o header mesmo acredito que ele nao execute na hora por causa de cache e para nao dar problema de output na pagina mas deve ter um jeito direto Compartilhar este post Link para o post Compartilhar em outros sites
Fabyo 66 Denunciar post Postado Fevereiro 2, 2009 Daniel descobri o problema e resolvi usando o proprio Zend $response = $oFrontController->getResponse(); $response->setRedirect($sBaseUrl . '/login/'); $response->sendHeaders(); exit; com isso nao ira ser executado mais nada e ira direto para o login. Compartilhar este post Link para o post Compartilhar em outros sites
buh 0 Denunciar post Postado Abril 2, 2009 ola fabyo o meu problema é que antes de colocar a pasta zend dentro de library dava o erro de loader.php que esta dentro dessa pasta zend baxei o arquivo e coloquei dentro de library e ai comecou a dar que a página não existe Compartilhar este post Link para o post Compartilhar em outros sites
Fabyo 66 Denunciar post Postado Abril 2, 2009 voce precisa baixar o framework todo e colocar na pasta Compartilhar este post Link para o post Compartilhar em outros sites
Daniel_Ribeiro 1 Denunciar post Postado Abril 2, 2009 Daniel descobri o problema e resolvi usando o proprio Zend $response = $oFrontController->getResponse(); $response->setRedirect($sBaseUrl . '/login/'); $response->sendHeaders(); exit; com isso nao ira ser executado mais nada e ira direto para o login. Perfeito! Eu estava usando o header(Location...) justamente pq desconhecia esse metodo do objeto Request. Vou mudar na aplicacao, já que usando o header location eh um método "não zend de resolver as coisas" rsrsr. Valew Fabyo Compartilhar este post Link para o post Compartilhar em outros sites
buh 0 Denunciar post Postado Abril 2, 2009 a pasta que baixei ta com nome "ZendFramework-1[1].7.8" dentro dela tem outra pasta com nome "ZendFramework-1.7.8" e ae sim os arquivos ou seja monte de pastas inclusive uma pasta library com a pasta zend eu so copie a pasta zend e colei dentro de library do arquivo que você disponibilizou Compartilhar este post Link para o post Compartilhar em outros sites
Fabyo 66 Denunciar post Postado Abril 2, 2009 copie a pasta library e sobrescreva a outra Compartilhar este post Link para o post Compartilhar em outros sites
buh 0 Denunciar post Postado Abril 2, 2009 não é com a pasta naum.. continua do mesmo jeito Compartilhar este post Link para o post Compartilhar em outros sites
Fabyo 66 Denunciar post Postado Abril 2, 2009 crie um topico novo com sua duvida de configuração, porque esse topico ja esta com assunto resolvido t+ Compartilhar este post Link para o post Compartilhar em outros sites
buh 0 Denunciar post Postado Abril 2, 2009 novo topico aberto http://forum.imasters.com.br/index.php?showtopic=338562 Compartilhar este post Link para o post Compartilhar em outros sites
giulianosaito 0 Denunciar post Postado Abril 15, 2009 Opa Fábio! Tudo jóia parceiro? Então cara, sistema show de bola... parabéns! Mas ta acontecendo um erro aqui pra mim na hora de logar Erro Sistema, Adapter name must be specified in a string Eu me vi obrigado a trocar no model, no controller e no ext-ux-login.js todas as ocorrencias "nome" por "login", pode ser esse o problema? Obrigadão cara! E se tiver um tempinho coloca mais uns tutoriais que só você sabe ministrar! Abraços Compartilhar este post Link para o post Compartilhar em outros sites
Fabyo 66 Denunciar post Postado Abril 15, 2009 Opa então se voce trocou e funcionou deve ser isso mesmo, talves foi algum erro meu na hora de editar o arquivo esqueci de mudar isso, mas como ninguem reclamou acabei nem percebendo e sobre outros tutoriais vou fazer sim valeu Compartilhar este post Link para o post Compartilhar em outros sites
giulianosaito 0 Denunciar post Postado Abril 15, 2009 Então, isso não é bem um problema nem nada.. mas sim uma dúvida básica! Eu tenho dois módulos aqui! Admin e Default! Do qual funcionam perfeitamente! A pasta models é compartilhada pelos 2 módulos! Então como restringir apenas para o módulo admin o acesso? Eu tentei alterar primeiramente no meu bootstrap e depois no SecurityPlugin mas não obtive sucesso! Pode me dar uma luz em relação a isso? O sisteminha ta todo pronto.. mas inteiramente bloqueado hhehehe Mais uma vez meu muito obrigado! Compartilhar este post Link para o post Compartilhar em outros sites
Fabyo 66 Denunciar post Postado Abril 15, 2009 Voce ja usou ZEND_ACL? http://framework.zend.com/manual/en/zend.acl.html é a melhor opção pra fazer isso mas claro se quiser fazer na mao você pode fazer no proprio SecurityPlugin e recuperar o usuario e pegar o campo Nivel_Acesso e testar se for permitido você libera se precisar de ajuda qualquer um dos jeitos, só falar Compartilhar este post Link para o post Compartilhar em outros sites
giulianosaito 0 Denunciar post Postado Abril 15, 2009 Muito interessante! Já tinha ouvido falar do ACL mas não sabia que ele servia pra isso! Então só deixa eu ver se entendi! Pra mim exibir as páginas publicas (no meu caso o Default) eu tenho que fazer mais ou menos isso? * nível 0, 1, 2, 3 ->módulo default (paginas publicas) * nível 3 (por exemplo) -> módulo admin Eu vou dar uma estudada nele lá agora. Fiquei realmente interessado nisso, pois como esse site é pequeno eu nem tinha pensado em definir níveis nem nada! Valeu mais uma vez Fabyo! Compartilhar este post Link para o post Compartilhar em outros sites
Fabyo 66 Denunciar post Postado Abril 15, 2009 o campo nivel de acesso é para esse caso mais simples o ACL você define o nivel geral do usuario, onde ele pode ou nao acessar, ou se ele pode salvar/editar/excluir etc... Compartilhar este post Link para o post Compartilhar em outros sites
giulianosaito 0 Denunciar post Postado Abril 15, 2009 Rapaz... agora começou a esclarecer tudo! Como eu nunca havia programado dessa maneira tava me sentindo meio perdido! Mas agora, to começando a pegar o jeito da coisa! Valeu mestre! http://forum.imasters.com.br/public/style_emoticons/default/worshippy.gif Compartilhar este post Link para o post Compartilhar em outros sites