<?xml version="1.0" encoding="utf-8"?>
<!-- generator="FeedCreator 1.8.0-dev (info@mypapit.net)" -->
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
    <title>Grails Brasil</title>
    <subtitle>Grupo de Usuários de Grails do Brasil</subtitle>
    <link rel="self" type="application/atom+xml" href="http://www.grailsbrasil.com/smartfeed.php?feed_type=ATOM1.0&amp;limit=1_DAY&amp;sort_by=standard&amp;feed_style=HTML&amp;amp" />
    <id>http://www.grailsbrasil.com/smartfeed.php?feed_type=ATOM1.0&amp;limit=1_DAY&amp;sort_by=standard&amp;feed_style=HTML&amp;amp</id>
    <updated>2010-09-06T15:44:28+00:00</updated>
    <generator>FeedCreator 1.8.0-dev (info@mypapit.net)</generator>
    <entry>
        <title>Tópicos avançados :: troca de usuario logado :: Autor carlinbegale</title>
        <link rel="alternate" type="text/html" href="http://www.grailsbrasil.com/viewtopic.php?f=5&amp;t=1107&amp;p=5123#p5123"/>
        <published>2010-09-06T14:50:03+00:00</published>
        <updated>2010-09-06T14:50:03+00:00</updated>
        <id>http://www.grailsbrasil.com/viewtopic.php?f=5&amp;t=1107&amp;p=5123#p5123</id>
        <author>
            <name>carlinbegale</name>
        </author>
        <category term="Tópicos avançados" />
        <content type="html"><![CDATA[Olá, estou tendo problemas com os usuarios logados no sistema que desenvolvi.<br /><br />É um sistema de simulação de empresas que é usado em faculdades, onde geralmente os alunos se logam em um laboratório dentro da propria faculdade para utilizar o sistema. Como eles utilizam o sistema ao mesmo tempo acontece o seguinte: <br /><br />Exemplo:<br /><br /> - O 'Aluno 1' acessa o sistema com seu login e senha e vai para a pagina inicial da sua empresa contendo no cabeçalho o seu nome e o nome de sua empresa. Toda navegação deste aluno dentro de sua empresa o sistema busca na sessão o ID deste aluno logado e vai no banco e busca as informacoes deste aluno e de sua empresa.<br /><br /> - Entao o 'Aluno 2' também acessa o sistema, de outra máquina do mesmo laboratório (mesma rede), e o sistema faz a mesma coisa, ao autenticar o aluno, coloca o seu ID na sessao e direciona para a pagina inicial da empresa deste aluno 2. E ele navega normalmente dentro de sua empresa.<br /><br />- Depois que o 'Aluno 2' se logou no sistema, quando o 'Aluno 1' vai navegar dentro de sua empresa, a sua maquina assume os dados do 'Aluno 2' que se logou em outra máquina. Entao o 'Aluno 1' navega como se fosse o aluno 2.<br /><br /> - Se outro aluno se loga no sistema, entao os outros assumem o login deste ultimo logado. É como se a sessão onde guardo o ID dos usuarios logados fosse comum para todas as máquinas.<br /><br />* Só que este problema só acontece em algumas faculdades, porque já testamos em vários lugares, e somente em 2 faculdades aconteceu o problema até hoje. Por isso imagino ser algum problema na rede deles, mas fizemos alguns testes lá e não conseguimos solucionar o problema.<br /><br />Segue a classe do usuario:<br /><br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">package br.sde.admin<br /><br />import java.io.Serializable<br /><br />class Participante implements Serializable {<br /><br />&nbsp; &nbsp;static final long serialVersionUID = 1L;<br /><br />&nbsp; &nbsp;Equipe equipe<br />&nbsp; &nbsp;String nome<br />&nbsp; &nbsp;String email<br />&nbsp; &nbsp;String login<br />&nbsp; &nbsp;String senha<br />&nbsp; &nbsp;<br />&nbsp; &nbsp;static belongsTo = Equipe<br />&nbsp; &nbsp;<br />&nbsp; &nbsp;static constraints = {<br />&nbsp; &nbsp;&nbsp; &nbsp;nome(length:2..100,blank:false)<br />&nbsp; &nbsp;&nbsp; &nbsp;email(email:true)<br />&nbsp; &nbsp;&nbsp; &nbsp;login(unique:true,blank:false)<br />&nbsp; &nbsp;&nbsp; &nbsp;senha(size:5..20,blank:false)<br />&nbsp; &nbsp;&nbsp; &nbsp;equipe(nullable:false)<br />&nbsp; &nbsp;}<br /><br />}<br /></div><br /><br />quando o usuario efetua login:<br /><br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">def participante = Participante.findByLoginAndSenha(params.login,params.senha)<br />if(participante) {<br />&nbsp; &nbsp;session.participante = participante.id<br />&nbsp; &nbsp;redirect(controller:&quot;principal&quot;,action:&quot;inicio&quot;)<br />}<br /></div><br /><br />assim recupero o usuario<br /><br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">&nbsp; &nbsp; def participante = Participante.get( session.participante )<br /></div><br /><br />Será mesmo problema na rede da faculdade, ou no meu codigo? Ou será que posso implementar algum controle adicional para evitar este problema?<br /><br />Alguém já passou por algo assim? Não encontrei nada na internet que me ajudasse..<br /><br />Obrigado.]]></content>
        <summary type="html"><![CDATA[Olá, estou tendo problemas com os usuarios logados no sistema que desenvolvi.<br /><br />É um sistema de simulação de empresas que é usado em faculdades, onde geralmente os alunos se logam em um laboratório dentro da propria faculdade para utilizar o sistema. Como eles utilizam o sistema ao mesmo tempo acontece o seguinte: <br /><br />Exemplo:<br /><br /> - O 'Aluno 1' acessa o sistema com seu login e senha e vai para a pagina inicial da sua empresa contendo no cabeçalho o seu nome e o nome de sua empresa. Toda navegação deste aluno dentro de sua empresa o sistema busca na sessão o ID deste aluno logado e vai no banco e busca as informacoes deste aluno e de sua empresa.<br /><br /> - Entao o 'Aluno 2' também acessa o sistema, de outra máquina do mesmo laboratório (mesma rede), e o sistema faz a mesma coisa, ao autenticar o aluno, coloca o seu ID na sessao e direciona para a pagina inicial da empresa deste aluno 2. E ele navega normalmente dentro de sua empresa.<br /><br />- Depois que o 'Aluno 2' se logou no sistema, quando o 'Aluno 1' vai navegar dentro de sua empresa, a sua maquina assume os dados do 'Aluno 2' que se logou em outra máquina. Entao o 'Aluno 1' navega como se fosse o aluno 2.<br /><br /> - Se outro aluno se loga no sistema, entao os outros assumem o login deste ultimo logado. É como se a sessão onde guardo o ID dos usuarios logados fosse comum para todas as máquinas.<br /><br />* Só que este problema só acontece em algumas faculdades, porque já testamos em vários lugares, e somente em 2 faculdades aconteceu o problema até hoje. Por isso imagino ser algum problema na rede deles, mas fizemos alguns testes lá e não conseguimos solucionar o problema.<br /><br />Segue a classe do usuario:<br /><br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">package br.sde.admin<br /><br />import java.io.Serializable<br /><br />class Participante implements Serializable {<br /><br />&nbsp; &nbsp;static final long serialVersionUID = 1L;<br /><br />&nbsp; &nbsp;Equipe equipe<br />&nbsp; &nbsp;String nome<br />&nbsp; &nbsp;String email<br />&nbsp; &nbsp;String login<br />&nbsp; &nbsp;String senha<br />&nbsp; &nbsp;<br />&nbsp; &nbsp;static belongsTo = Equipe<br />&nbsp; &nbsp;<br />&nbsp; &nbsp;static constraints = {<br />&nbsp; &nbsp;&nbsp; &nbsp;nome(length:2..100,blank:false)<br />&nbsp; &nbsp;&nbsp; &nbsp;email(email:true)<br />&nbsp; &nbsp;&nbsp; &nbsp;login(unique:true,blank:false)<br />&nbsp; &nbsp;&nbsp; &nbsp;senha(size:5..20,blank:false)<br />&nbsp; &nbsp;&nbsp; &nbsp;equipe(nullable:false)<br />&nbsp; &nbsp;}<br /><br />}<br /></div><br /><br />quando o usuario efetua login:<br /><br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">def participante = Participante.findByLoginAndSenha(params.login,params.senha)<br />if(participante) {<br />&nbsp; &nbsp;session.participante = participante.id<br />&nbsp; &nbsp;redirect(controller:&quot;principal&quot;,action:&quot;inicio&quot;)<br />}<br /></div><br /><br />assim recupero o usuario<br /><br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">&nbsp; &nbsp; def participante = Participante.get( session.participante )<br /></div><br /><br />Será mesmo problema na rede da faculdade, ou no meu codigo? Ou será que posso implementar algum controle adicional para evitar este problema?<br /><br />Alguém já passou por algo assim? Não encontrei nada na internet que me ajudasse..<br /><br />Obrigado.]]></summary>
    </entry>
    <entry>
        <title>Tópicos avançados :: Re: troca de usuario logado :: Reply by kicolobo</title>
        <link rel="alternate" type="text/html" href="http://www.grailsbrasil.com/viewtopic.php?f=5&amp;t=1107&amp;p=5124#p5124"/>
        <published>2010-09-06T16:19:54+00:00</published>
        <updated>2010-09-06T16:19:54+00:00</updated>
        <id>http://www.grailsbrasil.com/viewtopic.php?f=5&amp;t=1107&amp;p=5124#p5124</id>
        <author>
            <name>kicolobo</name>
        </author>
        <category term="Tópicos avançados" />
        <content type="html"><![CDATA[Uai, estranho isto. No seu controlador ou serviço não tem nenhum atributo estático não?<br />Se bobear, duas sessões podem estar acessando o mesmo atributo acidentalmente por causa disto.<br /><br />Posta ai o seu código de autenticação pra que a gente dê uma olhada?]]></content>
        <summary type="html"><![CDATA[Uai, estranho isto. No seu controlador ou serviço não tem nenhum atributo estático não?<br />Se bobear, duas sessões podem estar acessando o mesmo atributo acidentalmente por causa disto.<br /><br />Posta ai o seu código de autenticação pra que a gente dê uma olhada?]]></summary>
    </entry>
    <entry>
        <title>Tópicos avançados :: Re: troca de usuario logado :: Reply by kicolobo</title>
        <link rel="alternate" type="text/html" href="http://www.grailsbrasil.com/viewtopic.php?f=5&amp;t=1107&amp;p=5125#p5125"/>
        <published>2010-09-06T16:21:06+00:00</published>
        <updated>2010-09-06T16:21:06+00:00</updated>
        <id>http://www.grailsbrasil.com/viewtopic.php?f=5&amp;t=1107&amp;p=5125#p5125</id>
        <author>
            <name>kicolobo</name>
        </author>
        <category term="Tópicos avançados" />
        <content type="html"><![CDATA[Aliás, dica: você pode armazenar um objeto na sessão também. Assim não precisa ficar buscando o usuário cada vez que necessite.]]></content>
        <summary type="html"><![CDATA[Aliás, dica: você pode armazenar um objeto na sessão também. Assim não precisa ficar buscando o usuário cada vez que necessite.]]></summary>
    </entry>
    <entry>
        <title>Tópicos avançados :: Re: troca de usuario logado :: Reply by carlinbegale</title>
        <link rel="alternate" type="text/html" href="http://www.grailsbrasil.com/viewtopic.php?f=5&amp;t=1107&amp;p=5126#p5126"/>
        <published>2010-09-06T17:57:53+00:00</published>
        <updated>2010-09-06T17:57:53+00:00</updated>
        <id>http://www.grailsbrasil.com/viewtopic.php?f=5&amp;t=1107&amp;p=5126#p5126</id>
        <author>
            <name>carlinbegale</name>
        </author>
        <category term="Tópicos avançados" />
        <content type="html"><![CDATA[esse é o codigo do login para autenticar o usuario:<br /><br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">class LoginController {<br /><br />&nbsp; &nbsp;def index = { redirect(action:login,params:params) }<br />&nbsp; &nbsp; <br />&nbsp; &nbsp;def login = {<br />&nbsp; &nbsp;&nbsp; &nbsp;if (request.method == &quot;GET&quot;) {<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;session.participante = null<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;def participante = new Participante()<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;flash.login = 'efetue o login'<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;redirect(controller:'central',action:'inicial')<br />&nbsp; &nbsp;&nbsp; &nbsp;} else {<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;def participante = Participante.findByLoginAndSenha(params.login,params.senha)<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;if(participante) {<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;participante.ultAcesso = participante.acesso<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;participante.acesso = new Date()<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;participante.numAcessos = participante.numAcessos + 1<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;participante.save()<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;session.participante = participante.id<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;redirect(controller:&quot;principal&quot;,action:&quot;inicio&quot;)<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;} else {<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;flash.login = 'login ou senha incorreta'<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;render(view:'/central/inicial')<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;}<br />&nbsp; &nbsp;&nbsp; &nbsp;}<br />&nbsp; &nbsp;}<br />&nbsp; &nbsp;<br />&nbsp; &nbsp;def logout = {<br />&nbsp; &nbsp;&nbsp; &nbsp;session.participante = null<br />&nbsp; &nbsp;&nbsp; &nbsp;redirect(controller:'central',action:'inicial')<br />&nbsp; &nbsp;}<br />&nbsp; &nbsp;<br />&nbsp; &nbsp;def direciona = { <br />&nbsp; &nbsp;&nbsp; &nbsp;render( view:'/central/direciona' )<br />&nbsp; &nbsp;}<br />&nbsp; &nbsp;<br />}<br /></div><br /><br />e este verifica se o usuario esta logado quando navega no sistema, e todas os outros controllers com restricao extendem desta classe aqui:<br /><br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">abstract class BaseController {<br /><br />&nbsp; &nbsp;// verifica se participante esta logado<br />&nbsp; &nbsp;def autParticipante() {<br />&nbsp; &nbsp;&nbsp; &nbsp;if(!session.participante) {<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;def originalRequestParams = &#91;controller:controllerName,action:actionName&#93;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;originalRequestParams.putAll(params)<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;session.originalRequestParams = originalRequestParams<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;redirect(controller:'login',action:'direciona')<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;return false<br />&nbsp; &nbsp;&nbsp; &nbsp;}<br />&nbsp; &nbsp;}<br />&nbsp; &nbsp;<br />}<br /></div><br /><br />é isso.<br /><br />quanto a armazenar o objeto inteiro na sessao, eu estava fazendo isso, mas dai coloquei somente o id pq sugeriram para ver se diminuia o uso de memória, que estava alto, entao passei a guardar somente o id, e criei um filter que a toda solicitacao ele busca os dados e coloca em um request, mas nao vi diferenca na memoria.<br /><br /><div class="codetitle"><b>Code:</b></div><div class="codecontent"><br />class SessaoFilters {<br /><br />&nbsp; &nbsp; def filters = {<br />&nbsp; &nbsp; &nbsp; &nbsp; all(controller:'*', action:'*') {<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; before = {<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ( session.participante )<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;request.participante = Participante.get( session.participante )<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; after = {<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; afterView = {<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<br />&nbsp; &nbsp; &nbsp; &nbsp; }<br />&nbsp; &nbsp; }<br />&nbsp; &nbsp; <br />}<br /><br /></div>]]></content>
        <summary type="html"><![CDATA[esse é o codigo do login para autenticar o usuario:<br /><br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">class LoginController {<br /><br />&nbsp; &nbsp;def index = { redirect(action:login,params:params) }<br />&nbsp; &nbsp; <br />&nbsp; &nbsp;def login = {<br />&nbsp; &nbsp;&nbsp; &nbsp;if (request.method == &quot;GET&quot;) {<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;session.participante = null<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;def participante = new Participante()<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;flash.login = 'efetue o login'<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;redirect(controller:'central',action:'inicial')<br />&nbsp; &nbsp;&nbsp; &nbsp;} else {<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;def participante = Participante.findByLoginAndSenha(params.login,params.senha)<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;if(participante) {<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;participante.ultAcesso = participante.acesso<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;participante.acesso = new Date()<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;participante.numAcessos = participante.numAcessos + 1<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;participante.save()<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;session.participante = participante.id<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;redirect(controller:&quot;principal&quot;,action:&quot;inicio&quot;)<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;} else {<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;flash.login = 'login ou senha incorreta'<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;render(view:'/central/inicial')<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;}<br />&nbsp; &nbsp;&nbsp; &nbsp;}<br />&nbsp; &nbsp;}<br />&nbsp; &nbsp;<br />&nbsp; &nbsp;def logout = {<br />&nbsp; &nbsp;&nbsp; &nbsp;session.participante = null<br />&nbsp; &nbsp;&nbsp; &nbsp;redirect(controller:'central',action:'inicial')<br />&nbsp; &nbsp;}<br />&nbsp; &nbsp;<br />&nbsp; &nbsp;def direciona = { <br />&nbsp; &nbsp;&nbsp; &nbsp;render( view:'/central/direciona' )<br />&nbsp; &nbsp;}<br />&nbsp; &nbsp;<br />}<br /></div><br /><br />e este verifica se o usuario esta logado quando navega no sistema, e todas os outros controllers com restricao extendem desta classe aqui:<br /><br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">abstract class BaseController {<br /><br />&nbsp; &nbsp;// verifica se participante esta logado<br />&nbsp; &nbsp;def autParticipante() {<br />&nbsp; &nbsp;&nbsp; &nbsp;if(!session.participante) {<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;def originalRequestParams = &#91;controller:controllerName,action:actionName&#93;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;originalRequestParams.putAll(params)<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;session.originalRequestParams = originalRequestParams<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;redirect(controller:'login',action:'direciona')<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;return false<br />&nbsp; &nbsp;&nbsp; &nbsp;}<br />&nbsp; &nbsp;}<br />&nbsp; &nbsp;<br />}<br /></div><br /><br />é isso.<br /><br />quanto a armazenar o objeto inteiro na sessao, eu estava fazendo isso, mas dai coloquei somente o id pq sugeriram para ver se diminuia o uso de memória, que estava alto, entao passei a guardar somente o id, e criei um filter que a toda solicitacao ele busca os dados e coloca em um request, mas nao vi diferenca na memoria.<br /><br /><div class="codetitle"><b>Code:</b></div><div class="codecontent"><br />class SessaoFilters {<br /><br />&nbsp; &nbsp; def filters = {<br />&nbsp; &nbsp; &nbsp; &nbsp; all(controller:'*', action:'*') {<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; before = {<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ( session.participante )<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;request.participante = Participante.get( session.participante )<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; after = {<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; afterView = {<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<br />&nbsp; &nbsp; &nbsp; &nbsp; }<br />&nbsp; &nbsp; }<br />&nbsp; &nbsp; <br />}<br /><br /></div>]]></summary>
    </entry>
</feed>
<br />
<b>Fatal error</b>:  Cannot redeclare login_db() (previously declared in /home/grailsbrasil/www/includes/auth/auth_db.php:27) in <b>/home/grailsbrasil/www/includes/auth/auth_db.php</b> on line <b>235</b><br />
