[RESOLVIDO] Controle de acesso - Salvo no banco de dados [RESOLVIDO]  XML
Índice dos Fóruns » Frameworks e Bibliotecas brasileiros
Autor Mensagem
101574
JavaEvangelist
[Avatar]

Membro desde: 21/12/2008 16:44:27
Mensagens: 313
Offline

Cara, Olha so.


Eu coloquei a interface audit.
Nesse metodo.



Como funciona.

Eu tenho:

Empresa
Produto

ProdutoEmpresa
Onde a empresa escolhe o produto, e coloca o seu preço.

O que eu preciso e controllar quando a empresa fizer alguma alteração.

O que eu pensei....

Pegar a URL que está me enviando.
Com o código.

Tipo ...


Tem como isso?

Porque ai, eu faria assim, se metodo igual a Put.
Salvaria no metodo - Alteração - /produtoEmpresa/50

Eu ja consigo o id da empresa, então já está bom.
Já dá pra fazer uma auditoria.
Valeus!

Conheça o Aqui Comércio. Maior site de Empresas do Brasil.
www.aquicomercio.qlix.com.br
Meu site: wmacibnc.helioshost.org





[Email] [WWW]
Rafael Guerreiro
GUJ Master
[Avatar]

Membro desde: 26/10/2010 07:28:13
Mensagens: 1328
Localização: São Paulo/SP
Offline

Eu ainda não entendi muito bem isso tudo...

Mas você pode pegar os últimos números da sua URL com RegEx...

[x]FJ-21 - Java web com servlet
[x]FJ-28 - VRaptor
[x]FJ-25 - JPA
[x]FJ-16 - Design patterns, testes e xml
[x]WD-43 - HTML, CSS e Javascript
[x]WD-47 - Javascript e jQuery
[x]PM-83 - Gerenciamento ágil com Scrum
[x]PM-87 - Práticas ágeis
[x]FJ-91 - Arquitetura de software com Java
[x]IP-67 - iOS - iPhone e iPad
[ ]Ruby on rails
[ ]Ruby e Rails avançados
101574
JavaEvangelist
[Avatar]

Membro desde: 21/12/2008 16:44:27
Mensagens: 313
Offline

Seguinte,

Eu preciso de um controlle de acesso.

Discutimos, e vimos que o melhor era, criar um interceptor, e uma anotação chamada .

Criei, com sua ajuda, pego o endereço da URL que está enviando. E salvo no banco de dados, o usuário e a URL.

Eu tenho três métodos, que precisam ser auditados.

2º Excluir - OK

Porque eu recebo a URL e o metodo que eu sei que está excluindo.

3º Alterar - OK

Porque eu recebo a URL e o metodo que eu sei que está alterando.



1º Salvar - Não OK!

* Aqui não está ok, porque eu recebo somente o metodo POST, e a url do meu projeto.
Eu preciso saber qual foi o id do produto que foi adicionado.

O que eu tentei fazer, que resolveria, mas está dando um erro.


Eu estou pegando o último Produto adicionado, e acrescentar + 1;

O problema, e que o hibernate, traz para mim a sessão, e não renova. Dessa forma, somente o primeiro fica correto, o restante que é adicionando não. Porque pega sempre o mesmo id.
Como eu resolvo isso?



Conheça o Aqui Comércio. Maior site de Empresas do Brasil.
www.aquicomercio.qlix.com.br
Meu site: wmacibnc.helioshost.org





[Email] [WWW]
Rafael Guerreiro
GUJ Master
[Avatar]

Membro desde: 26/10/2010 07:28:13
Mensagens: 1328
Localização: São Paulo/SP
Offline

Para salvar você precisa pegar o ID. Mas não tem como ter certeza se o registro foi salvo ou não. Certo?

O que eu faria:
Colocaria toda essa inteligência no interceptor DEPOIS do stack.next... Assim você estará interceptando o resultado da requisição.

Quando você fizer a alteração, envie para a tela o ID do objeto alterado (ou salvo) e assim você não precisa pegar na URL...

[x]FJ-21 - Java web com servlet
[x]FJ-28 - VRaptor
[x]FJ-25 - JPA
[x]FJ-16 - Design patterns, testes e xml
[x]WD-43 - HTML, CSS e Javascript
[x]WD-47 - Javascript e jQuery
[x]PM-83 - Gerenciamento ágil com Scrum
[x]PM-87 - Práticas ágeis
[x]FJ-91 - Arquitetura de software com Java
[x]IP-67 - iOS - iPhone e iPad
[ ]Ruby on rails
[ ]Ruby e Rails avançados
101574
JavaEvangelist
[Avatar]

Membro desde: 21/12/2008 16:44:27
Mensagens: 313
Offline

Agora sim!

rsrsrs.

Não estou entendo uma coisa, porque ele ta pegando o nome do metodo, sempre POST?



Fiz uma inclusão, alteração e removação.
Sempre vem SALVAR.
Salvar

Editar

Remover


Restante está perfeito!

Valeu brother.




Conheça o Aqui Comércio. Maior site de Empresas do Brasil.
www.aquicomercio.qlix.com.br
Meu site: wmacibnc.helioshost.org





[Email] [WWW]
Rafael Guerreiro
GUJ Master
[Avatar]

Membro desde: 26/10/2010 07:28:13
Mensagens: 1328
Localização: São Paulo/SP
Offline

Isso acontece porque as requisições PUT e DELETE são tratadas como POST e o VRaptor as redireciona para o método correto através da variável _METHOD...

Você pode fazer um req.getParameter("_METHOD") para saber se é put ou delete.

[x]FJ-21 - Java web com servlet
[x]FJ-28 - VRaptor
[x]FJ-25 - JPA
[x]FJ-16 - Design patterns, testes e xml
[x]WD-43 - HTML, CSS e Javascript
[x]WD-47 - Javascript e jQuery
[x]PM-83 - Gerenciamento ágil com Scrum
[x]PM-87 - Práticas ágeis
[x]FJ-91 - Arquitetura de software com Java
[x]IP-67 - iOS - iPhone e iPad
[ ]Ruby on rails
[ ]Ruby e Rails avançados
101574
JavaEvangelist
[Avatar]

Membro desde: 21/12/2008 16:44:27
Mensagens: 313
Offline

Esta vindo vazio.



Console


Tem outro?

Conheça o Aqui Comércio. Maior site de Empresas do Brasil.
www.aquicomercio.qlix.com.br
Meu site: wmacibnc.helioshost.org





[Email] [WWW]
Rafael Guerreiro
GUJ Master
[Avatar]

Membro desde: 26/10/2010 07:28:13
Mensagens: 1328
Localização: São Paulo/SP
Offline

está indo vazio quando é POST(insert) ou em qualquer um dos casos?

[x]FJ-21 - Java web com servlet
[x]FJ-28 - VRaptor
[x]FJ-25 - JPA
[x]FJ-16 - Design patterns, testes e xml
[x]WD-43 - HTML, CSS e Javascript
[x]WD-47 - Javascript e jQuery
[x]PM-83 - Gerenciamento ágil com Scrum
[x]PM-87 - Práticas ágeis
[x]FJ-91 - Arquitetura de software com Java
[x]IP-67 - iOS - iPhone e iPad
[ ]Ruby on rails
[ ]Ruby e Rails avançados
101574
JavaEvangelist
[Avatar]

Membro desde: 21/12/2008 16:44:27
Mensagens: 313
Offline

Em todos.
Tem nada errado com a minha anotação?

Conheça o Aqui Comércio. Maior site de Empresas do Brasil.
www.aquicomercio.qlix.com.br
Meu site: wmacibnc.helioshost.org





[Email] [WWW]
Rafael Guerreiro
GUJ Master
[Avatar]

Membro desde: 26/10/2010 07:28:13
Mensagens: 1328
Localização: São Paulo/SP
Offline

Sua annotation está certa.

Debuga e olha os valores dentro do request para saber quais deles definem o método http que está sendo chamado pelo browser.

Esse method da sua annotation define que ela só pode anotar métodos.

[x]FJ-21 - Java web com servlet
[x]FJ-28 - VRaptor
[x]FJ-25 - JPA
[x]FJ-16 - Design patterns, testes e xml
[x]WD-43 - HTML, CSS e Javascript
[x]WD-47 - Javascript e jQuery
[x]PM-83 - Gerenciamento ágil com Scrum
[x]PM-87 - Práticas ágeis
[x]FJ-91 - Arquitetura de software com Java
[x]IP-67 - iOS - iPhone e iPad
[ ]Ruby on rails
[ ]Ruby e Rails avançados
101574
JavaEvangelist
[Avatar]

Membro desde: 21/12/2008 16:44:27
Mensagens: 313
Offline

Não entendo muito esse negócio de Debug.

Seria isso?





Conheça o Aqui Comércio. Maior site de Empresas do Brasil.
www.aquicomercio.qlix.com.br
Meu site: wmacibnc.helioshost.org





[Email] [WWW]
101574
JavaEvangelist
[Avatar]

Membro desde: 21/12/2008 16:44:27
Mensagens: 313
Offline

Ou seria isso.


Conheça o Aqui Comércio. Maior site de Empresas do Brasil.
www.aquicomercio.qlix.com.br
Meu site: wmacibnc.helioshost.org





[Email] [WWW]
Rafael Guerreiro
GUJ Master
[Avatar]

Membro desde: 26/10/2010 07:28:13
Mensagens: 1328
Localização: São Paulo/SP
Offline

Primeiro, você está confundindo os methods...

Existe o que chamamos de HTTP Methods que são os métodos (tipos de envio) do protocolo HTTP... Ou seja: GET, POST, PUT, DELETE e outros...

Existem os methods do java, que são métodos normais. Esse method que você está me mostrando é do interceptor, certo? Esse cara é o método que você está indo acessar com o interceptor. NADA a ver com os http methods...

Como eu disse: "Debuga e olha os valores dentro do request" ou seja: olhe o que está vindo dentro do HttpServletRequest, pois você quer pegar o http method usado nessa requisição. Algo me diz que está aqui...

Segundo, precisa aprender a debugar e a fazer log da sua aplicação, o tempo de desenvolvimento diminui MUITO!

-EDIT-
Terceiro, não adianta você me postar essa estrutura dos atributos. É para você olhar isso ai e descobrir o que fazer.

This message was edited 1 time. Last update was at 16/11/2012 16:02:51


[x]FJ-21 - Java web com servlet
[x]FJ-28 - VRaptor
[x]FJ-25 - JPA
[x]FJ-16 - Design patterns, testes e xml
[x]WD-43 - HTML, CSS e Javascript
[x]WD-47 - Javascript e jQuery
[x]PM-83 - Gerenciamento ágil com Scrum
[x]PM-87 - Práticas ágeis
[x]FJ-91 - Arquitetura de software com Java
[x]IP-67 - iOS - iPhone e iPad
[ ]Ruby on rails
[ ]Ruby e Rails avançados
101574
JavaEvangelist
[Avatar]

Membro desde: 21/12/2008 16:44:27
Mensagens: 313
Offline

Desculpa ae,

Vcê tinha falado dessa anotação.



Fica mais fácil, porque eu so preciso diferenciar o que é inclusão, alteração ou removação?

Conheça o Aqui Comércio. Maior site de Empresas do Brasil.
www.aquicomercio.qlix.com.br
Meu site: wmacibnc.helioshost.org





[Email] [WWW]
Rafael Guerreiro
GUJ Master
[Avatar]

Membro desde: 26/10/2010 07:28:13
Mensagens: 1328
Localização: São Paulo/SP
Offline

Não. Use sem passar parâmetros mesmo.

é mais fácil você verificar se o método tem a anotação @Post ou se tem @Put, ou se tem @Delete...

[x]FJ-21 - Java web com servlet
[x]FJ-28 - VRaptor
[x]FJ-25 - JPA
[x]FJ-16 - Design patterns, testes e xml
[x]WD-43 - HTML, CSS e Javascript
[x]WD-47 - Javascript e jQuery
[x]PM-83 - Gerenciamento ágil com Scrum
[x]PM-87 - Práticas ágeis
[x]FJ-91 - Arquitetura de software com Java
[x]IP-67 - iOS - iPhone e iPad
[ ]Ruby on rails
[ ]Ruby e Rails avançados
 
Índice dos Fóruns » Frameworks e Bibliotecas brasileiros
Ir para:   
Powered by JForum 2.1.8 © JForum Team