Entendendo o plugin Spring-Security-Core
20/08/2012 10:23
0
Tudo bem pessoal,

Instalei o Spring-Security-Core em meu projeto e percebo que apesar de fazer referência aos serviços de autenticação não foi criado nenhum arquivo "Service". Onde são criado estes services se não estão na propria pasta de Serviços?

Outra dúvida que tenho sobre o plugin é que no dominio de usuario (SecUser) existem 4 variaveis boolean [(1)boolean enabled, (2)boolean accountExpired, (3)boolean accountLocked, (4)boolean passwordExpired], a 1° é para setar se o usuario esta ativo e se ela não estiver setada o usuario não consegue fazer loggin (essa eu testei). A 2° é para setar se a conta está expirada, a 3° se está bloqueada e a 4° é a senha expirada. Para cada um destes existe um tratamento para que seja setada, porém estas regras de tratamento eu não encontrei. Alguém poderia me dizer onde posso editar ou criar as regras para controle destes booleans?
Tags: Spring-Security-Core, autenticação, segurança, login,


0
O Spring Security Core é um plugin e, assim como outros, fica armazenado em um diretório de sistema, ou seja, o grails só irá adicionar efetivamente os plugins a sua aplicação no momento da execução. Logo, para usar um serviço basta invocá-lo e no momento da execução o grails injetará o código que irá resolver as necessidades da sua aplicação.

Por exemplo, para carregar o serviço Spring Security Service basta colocar a seguinte linha de código na aplicação e no instante da execução o grails injetará o código necessário a execução do serviço:
def SpringSecurityService


No linux, os plugins podem ser encontrados no diretório "~/.grails".
20/08/2012 13:52


0
Amigo, não entendi o seu segundo questionamento, mas acho que você poderá encontrar algo no manual do Spring Security Core: Manual Spring Security Core.
20/08/2012 14:01


0
Ola Everton,

obrigado pela dica. Não sabia que os arquivos de plugin eram armazenados fora da aplicação.

Minha segunda dúvida é sobre os campos booleanos accountExpired, accountLocked, passwordExpired que são utilizados para expressar informações da conta, porém não achei no manual o uso delas.

Por exemplo, o que causa a expiração de uma conta (accountExpired) e o bloqueio de uma conta (accountLocked) e a expiração de uma senha (passwordExpired)? Como posso implementar controles de modo que o usuario ao errar a senha por mais de 3 vezes possuirá a conta bloqueada (accountLocked)? E onde posso informar o prazo de expiração de uma conta (accountExpired) ou de uma senha (passwordExpired)?

20/08/2012 15:30


1
Olá, consegui entender sua dúvida. Estes booleans são recursos "opcionais" você poderá ou não fazer o uso efetivo deles. No caso, de utilizar-los você deverá implementar as estruturas de manipulação deles, o que não é muito complicado, se você olhar no manual, verá as classes de ajuda (Helpers Class) e, também, eventos (Events) acredito que com estas estruturas poderás produzir os métodos necessários ao controle das variáveis accountExpired, accountLocked, passwordExpired e accountEnabled.

No exemplo, dado por você existem n formas de se resolver. Podes, por exemplo, utilizar um cookie para contar a quantidade de tentativas e quando sua aplicação detectar um número inválido bloqueia a conta. Logicamente, esta não é a maneira ideal, pois se a cada tentativa limparmos o cookies a aplicação nunca bloqueará o acesso do usuário. Então, com o uso das estrutura citadas no paragrafo anterior e um pouco de esforço você poderá fazer um controle minucioso.
21/08/2012 14:38


0
Ola Everton,


muito obrigado pela dica. Ajudou demais. Pensei que existia alguma implementação para os comandos., mas sabendo que são opicionais fico tranquilo em implementá-los futuramente. Se alguém implementou posta ai a função.

Mais uma vez obrigado pela ajuda Everton!
21/08/2012 14:56



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