Minha contribuição - Controle de acesso VRaptor 3  XML
Índice dos Fóruns » Frameworks e Bibliotecas brasileiros
Autor Mensagem
juniorsatanas
GUJ Master
[Avatar]

Membro desde: 20/05/2007 01:08:24
Mensagens: 1864
Localização: web2ajax@gmail.com
Offline

sobreira Bom dia !


Otimo, tu já fez isso ?

Cheque Mate em 6
[WWW] [Yahoo!] aim icon [MSN] [ICQ]
sobreira
Thread.start()
[Avatar]

Membro desde: 25/11/2008 12:02:41
Mensagens: 26
Offline

juniorsatanas wrote:sobreira Bom dia Otimo, tu já fez isso ?

Sim.

Criei uma @Entity chamda Roles. Fiz um mapeamento @OneToMany na classe Usuario para esta @Entity e segui a dica do Bronx pra mapear meu Set<Roles> para o List<Strings> retornado pelo public List<String> getRoles(); da minha classe Usuario. É realmente bem simples.

Fabiano S. Coelho
http://blog.sobreira.eti.br
[WWW]
juniorsatanas
GUJ Master
[Avatar]

Membro desde: 20/05/2007 01:08:24
Mensagens: 1864
Localização: web2ajax@gmail.com
Offline

sobreira !

Poderia enviar as classes para eu da uma olhada ? web2ajax@gmail.com

Abraço !

Cheque Mate em 6
[WWW] [Yahoo!] aim icon [MSN] [ICQ]
bronx
JavaTeenager
[Avatar]

Membro desde: 24/08/2009 02:59:47
Mensagens: 197
Offline

E ae galera!

sobreira, como foram os testes? Funcionou? O que achou? Sugestões?
Alguém mais testou a parada? yorgan?
Dêem suas opiniões!!

Lucas,
Ontem quebrei a cabeça com o github. Na real, fiquei pouco mais de meia hora mexendo, e confesso que não entendi como a ferramenta funciona.
Mas para todos os efeitos, acho que amanhã farei algumas alterações. Criarei os métodos setDefaultLoginPage e setDefaultAccessDeniedPage, para facilitar enquanto a ferramenta ainda não estiver integrada ao VRaptor (se isso for rolar mesmo...=S), além de deixar o roles como uma lista de String e anotar o RestrictionChecker com o @Component!

E o nome? Vou alterar os pacotes para br.com.bronx.restrictrex. Alguma objeção? Ou sugestão? Rss

E por favor: TESTEM! Mais de 600 visualizações e só 2 pessoas demonstraram que realmente estão testando...=/

Abs a todos!

This message was edited 1 time. Last update was at 19/01/2010 23:29:20

sobreira
Thread.start()
[Avatar]

Membro desde: 25/11/2008 12:02:41
Mensagens: 26
Offline

bronx wrote:E ae galera!

sobreira, como foram os testes? Funcionou? O que achou? Sugestões?
Alguém mais testou a parada? yorgan?
Dêem suas opiniões!!

Tava mexendo aqui, mas to caindo de sono. Como disse anteriormente gostei muito da solução e até agora está tudo ok. As funcionalidades que você apresentou estão funcionando 100%. Tive apenas um probleminha mas foi por conta da versão do vraptor que estava usando.

Estou ansioso pra pegar o projeto no Github e fazer um fork!

[]s

This message was edited 1 time. Last update was at 20/01/2010 08:49:36


Fabiano S. Coelho
http://blog.sobreira.eti.br
[WWW]
juniorsatanas
GUJ Master
[Avatar]

Membro desde: 20/05/2007 01:08:24
Mensagens: 1864
Localização: web2ajax@gmail.com
Offline

sobreira To No Aguardo !

Cheque Mate em 6
[WWW] [Yahoo!] aim icon [MSN] [ICQ]
ricardosoares
JavaEvangelist
[Avatar]

Membro desde: 03/12/2004 09:49:13
Mensagens: 318
Localização: São Paulo, SP, Brasil
Offline

show de bola !!!

eu já estava começando a fazer algo neste sentido http://www.guj.com.br/posts/preList/149082/809422.java#809422

apoio a sugestão do Lucas de fazer a configuração do loginPage e accessDeniedPage uma unica vez.

na prox semana vou retomar meus estudos em vraptor e então podemos trocar idéias

parabéns pela iniciativa.


Ricardo Soares
ricardosoares
JavaEvangelist
[Avatar]

Membro desde: 03/12/2004 09:49:13
Mensagens: 318
Localização: São Paulo, SP, Brasil
Offline

a propósito,

vc já definiu o tipo de licença? Apache, GLP , LGLP, ...

posso usar, complementar, alterar ?

Ricardo Soares
bronx
JavaTeenager
[Avatar]

Membro desde: 24/08/2009 02:59:47
Mensagens: 197
Offline

ricardosoares wrote:show de bola !!!

eu já estava começando a fazer algo neste sentido http://www.guj.com.br/posts/preList/149082/809422.java#809422

apoio a sugestão do Lucas de fazer a configuração do loginPage e accessDeniedPage uma unica vez.

na prox semana vou retomar meus estudos em vraptor e então podemos trocar idéias

parabéns pela iniciativa.



Excelente, ricardosoares!

Quanto mais pessoas estiverem participando, melhor!

Prometo que hj a noite, mais tardar amanhã cedo, posto nova versão com a centralização das configurações de loginPage e accessDeniedPage.

A idéia do Lucas de anotar os próprios recursos com @LoginPage e @AccessDeniedPage é sensacional! Mas acredito que isso só seria possível se a ferramenta estivesse integrada ao VRaptor.

Quanto a licença: ainda não pensei a respeito.
Essa é a minha primeira contribuição em um projeto open-source, então tenho que dar uma estudada nas licenças disponíveis, suas peculiaridades etc.
Tenho inclusive que conversar com o Lucas sobre isso, pois caso a solução seja integrada a uma versão futura do VRaptor, já assumiria a licença utilizada pelo framework.

Mas velho, a minha ideia é seguir a filosofia burger king: "HAVE IT YOUR WAY". Rs
Pode alterar o código sem problemas. Conforme a parada andar, podemos ir agregando/melhorando cada vez mais a ferramenta.

Abs.
juniorsatanas
GUJ Master
[Avatar]

Membro desde: 20/05/2007 01:08:24
Mensagens: 1864
Localização: web2ajax@gmail.com
Offline

bronx bOA tARDE !

Eu tenho que fazer isso tudo em um futuro sistema, logo vou contribuir... mas concordo quanto mais melhor !

Cheque Mate em 6
[WWW] [Yahoo!] aim icon [MSN] [ICQ]
Edufa
JavaEvangelist
[Avatar]

Membro desde: 18/04/2006 10:20:03
Mensagens: 315
Localização: Curitiba, PR
Offline

Gostei do "VAAS", rs
Eu tinha feito um mais amador para um sistema, vou testar a sua solução e depois retorno como foi. E vou aproveitar e testa-la numa situação bem especifica em termos de segurança q estou modelando.

Parabéns pela iniciativa

Edufa
Curitiba, PR
--
"O estado sou eu". - Luís XIV
"O estado somos nós."- Lênin
"O estado somos eu." - Lula
--
O mundo é deles mas a amazônia é nossa
O petróleo é nosso, mas o gás é deles.
Lucas Cavalcanti
GUJ Hacker
[Avatar]

Membro desde: 08/07/2007 00:08:14
Mensagens: 6400
Offline

bronx wrote:
A idéia do Lucas de anotar os próprios recursos com @LoginPage e @AccessDeniedPage é sensacional! Mas acredito que isso só seria possível se a ferramenta estivesse integrada ao VRaptor.

Não precisa estar integrada ao VRaptor pra isso funcionar...

basta implementar uma interface interna do VRaptor...
( criar a classe:
@ApplicationScoped @Component public class PageHandler implements StereotypeHandler {...})
depois eu te explico melhor como fazer...


--
Caelum
www.caelum.com.br

Lucas Cavalcanti
GUJ Hacker
[Avatar]

Membro desde: 08/07/2007 00:08:14
Mensagens: 6400
Offline

bronx wrote:
Lucas,
Ontem quebrei a cabeça com o github. Na real, fiquei pouco mais de meia hora mexendo, e confesso que não entendi como a ferramenta funciona.
Mas para todos os efeitos, acho que amanhã farei algumas alterações. Criarei os métodos setDefaultLoginPage e setDefaultAccessDeniedPage, para facilitar enquanto a ferramenta ainda não estiver integrada ao VRaptor (se isso for rolar mesmo...=S), além de deixar o roles como uma lista de String e anotar o RestrictionChecker com o @Component!


dá uma olhada nesses artigos:

http://vidageek.net/2009/06/08/como-migrar-de-svn-para-git/
http://vidageek.net/2009/07/06/git-workflow/

--
Caelum
www.caelum.com.br

bronx
JavaTeenager
[Avatar]

Membro desde: 24/08/2009 02:59:47
Mensagens: 197
Offline

Nova versão galera!

Me desculpem o atraso de 2 dias, mas aqui está a versão alterada com algumas melhorias propostas pela galera.

O "change log":

- classe RestrictionChecker anotada com @Component; //eu não consegui injetá-la .
- criação dos métodos setDefaultLoginPage e setDefaultAccessDeniedPage na classe RestrictionChecker;
- alteração do nome da annotation @AccessDenied para @OnAccessDenial;
- restrição do target das annotations: agora é só TYPE e METHOD.
- criação de exception específica em caso de o desenvolvedor não informar login page ou access denied page em nenhum lugar;
- atributo "roles" da annotation @Roles agora é uma lista, eliminando a necessidade do antigo "separator" (thanks Leonardo3001);
- necessidade de implementar apenas uma interface: Profile;
- adoção temporária do nome "RestricTRex"...ainda estou aguardando as sugestões (rs).

A maneira de utilização é basicamente a mesma.

Com os métodos setDefaultLoginPage e setDefaultAccessDeniedPage não existe mais a obrigação de uso da anotação @OnAccessDenial (antiga @AccessDenied). Mas sua utilização ainda é possível, caso seja necessário um comportamento mais específico em determinadas situações.
Os métodos setDefaultLoginPage e setDefaultAccessDeniedPage devem ser chamados ANTES da chamada ao método checkRestrictions.

A interface Profile agora possui a seguinte "cara":



Olha só o interceptor como pode ficar (façam como quiserem):




Enfim...testem aí.

Planos para um futuro [extremamente] próximo: jogar isso tudo no github e implementar o esquema da @LoginPage e @AccessDeniedPage.

Lucas, me mande um tutorial de como fazer esse esquema do StereotypeHandler.

[]'s


EDIÇÃO: esqueci do anexo...damn it...!
 Nome do arquivo restrictrex-1.0.1.jar [Disk] Download
 Descrição
 Tamanho 28 Kbytes
 Baixado:  77 vez(es)

This message was edited 3 times. Last update was at 22/01/2010 21:52:20

Lucas Cavalcanti
GUJ Hacker
[Avatar]

Membro desde: 08/07/2007 00:08:14
Mensagens: 6400
Offline

só criar a classe dentro do seu projeto:


essa classe é carregada qdo o VRaptor está se configurando... toda vez que ele achar alguma classe anotada com @Resource, ele vai chamar o método handle(...) passando essa classe


--
Caelum
www.caelum.com.br

 
Índice dos Fóruns » Frameworks e Bibliotecas brasileiros
Ir para:   
Powered by JForum 2.1.8 © JForum Team