Material Acegi

17 respostas
cris2

Olá pessoal!

Alguém tem algum material bom sobre o Acegi para me disponibilizar?

Fora a documentação, estou dando uma olhada nesse: http://www.ibm.com/developerworks/views/java/libraryview.jsp?search_by=securing+acegi

Se alguém tiver mais alguma fonte agradeço! :slight_smile:

Tks!

17 Respostas

fantomas

Hi .cris,

Dê uma olhada no livro "SPRING IN ACTION" (tem em português na livraria Cultura), se não estou enganado tem um capitulo sobre segurança que fala do acegi.

bye!

Leozin

poxa cris, a documentação do pessoal é consideravelmente BOA (apesar que eles esquecem de explicar uma porrada de filtros (ou eu que não achei))

tu chegou a dar uma olhada no http://www.acegisecurity.org/guide/springsecurity.html?

cris2

Muito obrigada fantomas e Leozin! :wink:

Leozin tais usando Acegi ai? :smiley:

Leozin

no último projeto eu tinha usado ele pra caramba!

agora eu to lidando com uns lances de SOA e não tem NADA de visual, ou seja: Nada de web, nada de framework como spring e hibernate, nada de java 5 e muito, muito, muito XML, XPath e XSLT ;~

Ps.: tanto é que nem no gtalk eu to conseguindo entrar mais :frowning:

cris2

Ixi… hehe

Além de não entrar no gtalk, nem aqui no GUJ tu fica mais on… XD

Bom se tu usou ele pra caramba quem sabe pode me dar algumas dicas…
Se puder dar uma olhada nos meus posts quando tiver um tempinho…

http://www.guj.com.br/posts/list/91131.java
http://www.guj.com.br/posts/list/91295.java

Muito obrigada! Boa sorte por ai! :smiley:

Abraço

fantomas

Oi Cris,

Eu  os posts que você apontou....
 
 Entendi que vc está precisando montar uma estrutura de segurança altamente personalizada, logo, acho que coisas com o acegi por mais que eles lhe ajudem não será suficiente. Na minha opnião estes componentes são bons mas não fornecem facilidades no nível de detalhe que vc precisa, ou seja, você terá que "ralar" e construir "na unha" a solução.

 Entendi também que no momento vc está envolvida com a estrutura dos menus, acho que você está no caminho certo. Se a minha percepção tiver correta você terá 2 grandes desafios: Montar a estrutura de dados e Montar os algoritimos para administrar esta estrutura. Se é isso mesmo, vc poderia postar a sua ideia inicial da estrutura de dados (MER) para ser criticada até chegar em um nível que vc ache bom.

  Desculpem se voei muito no tema...

[]'s

Leozin

fantomas:
Entendi que vc está precisando montar uma estrutura de segurança altamente personalizada, logo, acho que coisas com o acegi por mais que eles lhe ajudem não será suficiente. Na minha opnião estes componentes são bons mas não fornecem facilidades no nível de detalhe que vc precisa, ou seja, você terá que “ralar” e construir “na unha” a solução.

Entendi também que no momento vc está envolvida com a estrutura dos menus, acho que você está no caminho certo. Se a minha percepção tiver correta você terá 2 grandes desafios: Montar a estrutura de dados e Montar os algoritimos para administrar esta estrutura. Se é isso mesmo, vc poderia postar a sua ideia inicial da estrutura de dados (MER) para ser criticada até chegar em um nível que vc ache bom.

Eu já discordo. Além disso, isso que você tá dizendo é realmente um “Innefective Java”, tal como o Joshua Bloch diz, querendo fazer algo na unha sendo que já existe algo pronto hehehe

Até agora não me deparei com nenhuma situação de segurança cujo qual o Acegi não consiga suprir as necessidades. Desde segurança de URL, de negócio até mesmo de interface gráfica ele consegue deixar “supimpa” e bem seguro haha :stuck_out_tongue: Até agora, pelo menos, está sendo um framework BEM completo e que pode ser estendido tranquilamente.

A dica que eu dou é: leia com muita atenção a documentação, nem que seja mais de uma vez, e, além disso, dá uma olhada nos exemplos que tem lá, eles facilitam (e muito) o aprendizado. No início é difícil mesmo (eu mesmo tentei umas 2x ou 3x começar a desenvolver com ele) mas uma hora eu consegui =)

boa sorte =* (eu que o diga huieoauiea)

cris2

Olá fantomas!

Acho que você pegou a idéia! É bem por ai o caminho mesmo!
Realmente acredito que o Acegi não irá atender minhas necessidades para o nível de detalhamento que eu preciso, e eu já esperava ouvir que vou ter que "ralar" e construir "na unha" a solução. Mas estava querendo ver a que nível o pessoal está usando o Acegi, e estava vendo como ele realmente funciona, para ver até onde vai… mas como você disse, também acredito que ele não será suficiente.

Na verdade não sei se é melhor começar pelas estrutura de montagem dos menus, ou se pela hierarquia de acesso que vou ter aqui.
Alguma sugestão? :smiley:

Bom, realmente é uma estrutura muito complexa, e estou bastante confusa sobre como montá-la.
Como dito nos outros posts, eu sou iniciante em Java, e não tenho esperiência com essa área de análise, modelagem, etc…

Estou usando aqui J2EE + Hibernate + Spring + JSF.

Primeiro passo acredito que seja montar essa estrutura de dados.
Acredito que a hierarquia do acesso seja bem mais complexa que a montagem dos menus.

Para a montagem dos menus seria algo mais simpes, tipo:

Meu sistema tem Módulos, cada um deles tem seus próprios Menus (Cadastros, Relatórios, etc…)
Dentro desses Menus, eu teria Submenus, preciso que não seja estipulado um limite para submenus, que eles sejam montados em cascata, em uma quantidade que não seja fixa. (Menu -> N Submenus -> Tela)

Depois vai entrar a parte de controlar o acesso a esses Módulos/Menus, mas acredito que para essa fase, já seja necessário que eu tenha bem estruturada a hierarquia de acesso.

Posso criar lá no banco as tabelas:
Modulo que pode ter 1 ou mais Menu
Munu que pode ter 1 ou mais Submenu
Submenu que podem ter 1 ou mais Tela

Agora como eu faço para que esse nível de Submenu não seja fixo? Relaciono Submenu com ela mesma?
Tem alguma idéia?

Muito obrigada!

Abraço!

cris2

Leozin a idéia não é “reinventar a roda” é claro, mas a dúvida é… será que ele vai atender essas necessidades?

Estou aqui lendo a documentação.
Tenho já alguma coisa implementada usando o Acegi aqui.

Talvez o problema seja realmente só na estrutura dos dados, a maneira como está disposta…

Ixi… fiquei confusa de novo! Onde eu fui me meter! :roll: hehehe

Obrigada!

Abraço!

Leozin

huahuahua, é assim mesmo :stuck_out_tongue:

mas poxa, eu to sem o código aqui senão eu postava, mas tipo, não é reinventar a roda mesmo, é “só olhar” (é muito fácil falar né?! eita Leo) com atenção o que o framework disponibiliza. Se o negócio é “pra ontem”, daí sim, tem que apelar pra fazer na unha, mesmo sendo “innective” :stuck_out_tongue:

cris2

Bom Leozin realmente o negócio é quase pra ontem… :smiley: hehe

Mas não pode ser feito de qualquer jeito né, afinal não quero problemas futuros…
Já tive problemas porque essa estrutura não foi bem estruturada, não quero que isso se repita.

Vou dar mais uma olhada aqui no Acegi e ver se eu fico menos confusa… ^^
De qualquer forma essa não vai ser uma tarefa muito fácil… então nada de pânico! hehe

Valew! Abraço!

fantomas

Oi Cris, tô gostando do seu estilo :D.

Posso criar lá no banco as tabelas:
Modulo que pode ter 1 ou mais Menu
Munu que pode ter 1 ou mais Submenu
Submenu que podem ter 1 ou mais Tela

Agora como eu faço para que esse nível de Submenu não seja fixo? Relaciono Submenu com ela mesma?
Tem alguma idéia?

Essa sua idéia na minha opinião funciona, e o submenu ficará flexivel. Obviamente o ponto de complexidade está na tabela    "submenu". Você pode resolver isto com leituras recursivas, ou seja, toda vez que você ler uma linha (subitem de um menu) da tabela "submenu" vc terá que ler a tabela novamente para verificar se este item possue itens.
Parece que existe uma outra maneira de resolver esta questão, mas não lembro agora.

Se postar a estrutura das tabelas talvez apareça mais algumas idéias.

Tô torcendo por vc...

[]'s

cris2

Olá fantomas!

Bom, diminui a estrutura aqui…

Crie as tabelas Modulo, Menu e Tela.

A tabela Menu tem um auto-relacionamento (assim não precisei mais da tal tabela Submenu)
As tabelas estão compostas só de campos simples, para testar a estrutura mesmo, sendo eles id e nome.
As tabelas Modulo de Menu e Menu e Tela tem um relacionamento n-n.

Minha query ainda não está 100% aqui… :roll:

Não sei se esta é a melhor opção, se alguém tiver mais idéias…

Muito obrigada pela torcida! \o/

Tks! []'s

fantomas

Oi .cris,

Uma outra idéia seria utilizar um arquivo xml para descrever o seu menu, é claro que essa idéia  vale se você NÃO odiar xmls. Após a montagem do xml bastaria montar um código para ler este arquivo ou baixar um componente do tipo XStream para ajudar, em se tratando de xmls tem bastante opções para download.

Aliás o componente XStream consegue converter objetos, inclusive os associados e agregados em uma estrutura xml. Este componente é bem fácil de utilizar, olha o link aqui [url]http://xstream.codehaus.org/download.html[/url].

Acho que as chances de vc se livrar das leituras recursivas nesta idéia são mínimas mas existem, mas você não terá o banco de dados envolvido nisso tudo. Você resolverá tudo no código java.

Um ponto que eu acho que pode ser chato nesta idéia é a manutenção do arquivo xml.
Quero dizer o seguinte: para adicionar ou excluir um item você poderia utilizar um editor de texto, mas um pequeno deslise faria o seu componente leitor deste arquivo se perder. Para evitar este problema você poderia construir uma interface para administrar o cadastro do menu (alterar o arquivo xml), ai vc  sabe...é "fritar o teclado até umas horas".    

 Não sei se deu para perceber mas os preços a se pagar por essa solução são os mais variados possíveis.

 É isso ai... queria dizer que existe outro jeito de entrar neste barco rsrsrsr.

[]'s

cris2

Oi!

Bom não sei se a ideia de colocar essa estrutur do menu no banco é a melhor opção pelo seguinte:

Além de tem toda essa flexibilidade para os submenus eu preciso que ele sejam:
-Internacionalizados : Nossas famosas “Bandeirinhas”
-Personalizáveis : O usuário vai poder editar o nome do Menu. Exemplo: de “Cadastro de Unidade” para “Cadastro de Filial”
Entra aqui a questão, como vou disponibilizar para o usuário a alteração do nome do menu? Acho que tenho que manter esses dados no banco para facilitar isso… deixar um usuário editar um XML não me parece muito bom… :roll: )
-Tenham Controle de acesso : Por exemplo o usuário vai poder definir se o Módulo/Menu/Tela é acessível via Internet, Extranet ou Intranet… terei que ter uma interface pra ele poder setar isso… ai me vem o banco novamente na cabeça…

É por ai? Não é?
Aceito dúvidas, sugestões… hehe :smiley:

Valew! :smiley:

Tks! []'s

fantomas

E ai Cris.

Se é assim, tambem acho que a coisa toda tem que ficar no banco mesmo...

 Coisa de louco esse seu menu heim!?!?!?

[]'s

cris2

E ai!

Heheheeh :smiley:
Queria que fosse só o menu, mas é o sistema todo assim… tudo muito Parametrizavel, Personalizavel, Internacionalizado…
Está sendo um grande aprendizado! Meeesmo!

Acho que terão muitos topicos/posts por aqui ainda… :stuck_out_tongue:

Criado 19 de maio de 2008
Ultima resposta 21 de mai. de 2008
Respostas 17
Participantes 3