Acegi - Duvidas
09/09/2009 00:00
0
Bom pessoal, eu instalei o plugin do acegi, e fiz um exemplo usando este tutorial

http://www.grails.org/AcegiSecurity+Plugin+-+Basic+Tutorial

Dai me veio as duvidas, qual o usuário e senha para acessar a aplicação?

Adicionei uns campos na classe Person e dei o comando generete-all, pensei que dai poderia cadastrar o usuário e acessar o mesmo no login, mais não foi o que aconteceu, usuário e senha incorreto, e também a senha tambem não fica criptografada na base de dados (MySql), como deixar criptografada?

Achei outro exemplo explicando o acesso

http://stackoverflow.com/questions/790619/grails-acegi-plugin-springsecurity-grailsdaoimpl-user-admin-has-no-grantedau

Mais não é dessa forma que eu quero cadastrar os usuários, quero que essa verificação de usuário e senha seja feita dos usuários já cadastrados, assim como as roles, também cadastradas na base de dados, como eu posso estar fazendo isso?
Tags: Ferramentas/Plugins


0
Nunca usei o Acegi, mas com base no link que você postou, e o que li nele, acho que da pra dar um chute:

ele gera as páginas necessárias para o registro e edição de usuários. Será que você não deveria usar estas páginas ao invés de usar as que criou com o generate-all?

Aliás, visto que ele gera estas páginas, bastaria neste caso você customizá-las para incorporar os novos atributos, não?


0
Prezado,

Esse exemplo não faz conexão com nenhum BD, ele usa o BD JAVA para simlular a aplicação mas quando vc realmente fizer uma conexão com um BD MySQL por exemplo, existe uma action no plugin que faz a encriptação das senhas antes de gravar no BD, veja:

def passwordEncoder(String passwd) {

def securityConfig = getSecurityConfig()

def algorithm = securityConfig.security.algorithm
def encodeHashAsBase64 = securityConfig.security.encodeHashAsBase64

def encoded = new String(Hex.encodeHex(MessageDigest.getInstance(algorithm).digest(passwd.bytes)))

if (encodeHashAsBase64) {
return encoded.bytes.encodeBase64()
}

return encoded
}

Seu problema tb será resolvido com a aplicação apontando para um BD, depois de concluir os passos de criação das view´s e controladores conforme o exemplo, vc poderá cadastrar sim um novo usuário antes de testar, é só acessar a página <!-- m --><a class="postlink" href="http://localhost:8080/sua-aplicacao/role/create">http://localhost:8080/sua-aplicacao/role/create</a><!-- m -->

Ah, vc pode colocar o que quiser na classe person, ele funciona sim, criará os campos nos forms pra vc, não esquece de pedir para regerar as view´s e o controlador é claro!

Qualquer dúvida, escreve aqui =)
09/09/2009 00:00


0
Blz rlinux, o fato de encriptografar a senha tudo bem, mais eu quero recuperar os usuários já cadastrados do banco, das páginas geradas pelo plugin não vi nenhum momento em que ele busca de algum lugar o usuário e senha.

Me parece que ele busca num arquivo externo o usuário e senha;

postUrl = &quot;${request.contextPath}${config.filterProcessesUrl}&quot;
09/09/2009 00:00


0
Ok, desculpe, vamos por partes (como diria o Jack)

Vc criou um BD em MySQL certo? E tem acesso as tabelas:

- User;
- Role;
- Requestmap;

Bem, na tabela &quot;User&quot; deverão estar os campos dos seus usuários (isso se vc seguiu rigorosamente o tutorial que vc mencionou ok?)

Para saber quais são esses usuários e visualizar os campos acesse <!-- m --><a class="postlink" href="http://localhost:8080/sua-aplicacao/user/list">http://localhost:8080/sua-aplicacao/user/list</a><!-- m -->

Detalhe: o Grails cria a view com apenas alguns campos para mostrar, assim sendo, acesse a view e inclua e remova os campos que vc desejar.

Para criar novos, acesse idem/create

E assim por diante!

As regras para acesso deverão ser colocadas em <!-- m --><a class="postlink" href="http://localhost:8080/sua-aplicacao/requestmap/create">http://localhost:8080/sua-aplicacao/requestmap/create</a><!-- m -->

Em <!-- m --><a class="postlink" href="http://localhost:8080/sua-aplicacao/role/create">http://localhost:8080/sua-aplicacao/role/create</a><!-- m --> vc criará os perfis de seus usuários.

Para concluir, me diga mais uma coisa, vc acertou o arquivo DataSource.groovy que encontra-se em sua-aplicação (grails-app) /Configuration (conf) e apontou ele para o seu BD MySQl certo?
10/09/2009 00:00


0
Sim, meu Datasource.groovy esta configurado para MySql, eu fiz exatamente o processo que falou, adicionei os campos que eu queria para User(que na verdade é Person que o plugin gera), e grails generate-manager, criado os domains, controller e views, cadastro os usuários e na hora de acessar meu usuário e senha não da acesso.

Mais de qualquer forma, eu achei um outro tutorial

http&#58;//www.ibm.com/developerworks/br/library/j-grails04289/

http&#58;//felipenasc.blogspot.com/2006/12/primeira-aplicao-grails-com-simples.html

E já vai servir para o meu trabalho da faculade, assim que tiver mais tempo eu estudo melhor esse plugin.

De qualquer forma muito obrigado pela ajuda.
10/09/2009 00:00


0
23/09/2009 00:00


0
Pessoal eu estou com um problema utilizando o plugin no mysql , eu apontei o algoritmo de criptografia para utilizar o MD5 no DefaultSecurityConfig.groovy e observei que ele está salvando a senha neste formato, no entanto quando vou logar. sempre da usuário invalido.
05/03/2010 00:00


0
Como você está se logando no sistema?
Não está passando para o mysql acidentalmente a senha do acegi?


0
Olha os passos que eu segui...tem nada de anormal não né?
1 – Procedimento normal de instalação
2- Segue os passos deste tutorial <!-- m --><a class="postlink" href="http://www.grails.org/AcegiSecurity+Plugin+-+Basic+Tutorial">http://www.grails.org/AcegiSecurity+Plu ... c+Tutorial</a><!-- m -->
3- Se eu rodar apenas em memória o tutorial funciona quando eu passei para o mysql observei que estava dando erro no tipo de dado do tipo booleano, passei para TINYINT(1) e resolveu o problema.
4- Criei um role qualquer e atribuído de admin e um usuário com real name Luiz carlos e username luiz.carlos com passwd 123456 que no banco se tornou e10adc3949ba59abbe56e057f20f883e por causa do MD5
5- Quando logo com esse usuário da senha invalida. <!-- s:( --><img src="{SMILIES_PATH}/icon_sad.gif" alt=":(" title="Sad" /><!-- s:( -->
Obs: Não fiz alteração nenhuma nos Domínios e nem nos controles

espero ter sido claro <!-- s:) --><img src="{SMILIES_PATH}/icon_smile.gif" alt=":)" title="Smile" /><!-- s:) --> ..valeu
05/03/2010 00:00


0
pessoal acho que é isso que ta acontecendo vou bater a cabeça aqui se alguém tiver alguma sujestão vai ser bem vinda...<!-- s:) --><img src="{SMILIES_PATH}/icon_smile.gif" alt=":)" title="Smile" /><!-- s:) -->
<!-- m --><a class="postlink" href="http://n4.nabble.com/Acegi-not-working-td1385836.html">http://n4.nabble.com/Acegi-not-working-td1385836.html</a><!-- m -->
05/03/2010 00:00


0
Pessoal uma coisa interessante se eu rodar em memória funciona apenas quando mando para o mysql que ocorre o erro
05/03/2010 00:00


0
Resolvido...Troquei meu jar JDBC, acreditei que a versão do jar não estava batendo com a do mysql ai funcionou...[]'s
05/03/2010 00:00



Ainda não faz parte da comunidade???

Para se registrar, clique aqui.


Aprenda Groovy e Grails com a Formação itexto!

Newsletter Semana Groovy

Assinar

Envie seu link!


Livro de Grails


/dev/All

Os melhores blogs de TI (e em português) em um único lugar!

 
Creative Commons
RSS Grails Brasil é mantido por itexto Consultoria.
Em caso de problemas contacte Henrique Lobo Weissmann (Kico) por e-mail: kico@itexto.com.br
Todo o conteúdo presente neste site adota o Creative Commons como licença padrão.
Ver: 4.14.0
itexto