Como usar spring security com orietação a interface
Boa tarde,
Estou com o seguinte problema, estou querendo usar somente a parte de segurança do Spring
que no caso o Spring Security e estou desenvolvendo orietado a interface
não estou usando anotaçãoes do spring, sei que com ela dá para fazer
esse é um projeto EJB e é aqui que o problema começa....
[b]eu até consigo usar @EJB mas sem o uso de interface
por exemplo[/b]
Dessa maneira funciona...
e no bean
Gostaria de saber se alguém já implemento segurança orientada a interface com Spring Security usando @EJB e @Inject
Estou com o seguinte problema, estou querendo usar somente a parte de segurança do Spring
que no caso o Spring Security e estou desenvolvendo orietado a interface
não estou usando anotaçãoes do spring, sei que com ela dá para fazer
esse é um projeto EJB e é aqui que o problema começa....
[b]eu até consigo usar @EJB mas sem o uso de interface
por exemplo[/b]
Dessa maneira funciona...
@Stateless
public class JpaDao{
conteudo aqui...
}@Stateless
public class UsuarioService {
@EJB
private JpaDao dao;
}e no bean
@ManagedBean
@ViewScoped
public class UsuarioBean {
@EJB
private UsuarioService bean;Gostaria de saber se alguém já implemento segurança orientada a interface com Spring Security usando @EJB e @Inject
Thiago Volpato
Curtidas 0
Respostas
Josué Júnior
28/12/2012
Thiago nunca utilizei segurança orientada a interface com Spring Security usando @EJB, porém tem algumas ressalvas a fazer.
- Porque vc está utilizando EJB com Spring? Não seria melhor vc utilizar somente Spring.
- Se o EJB se faz necessário, a própria especificação possui um mecanismo de segurança chamado JAAS, aconselho dar uma lida no livro "EJB 3 em Ação" no capítulo 6 tem um tópico falando tudinho sobre segurança.
Espero ter ajudado.
- Porque vc está utilizando EJB com Spring? Não seria melhor vc utilizar somente Spring.
- Se o EJB se faz necessário, a própria especificação possui um mecanismo de segurança chamado JAAS, aconselho dar uma lida no livro "EJB 3 em Ação" no capítulo 6 tem um tópico falando tudinho sobre segurança.
Espero ter ajudado.
GOSTEI 0
Thiago Volpato
28/12/2012
valeu pela dica, mas esse projeto é EJB
consegui implementar do jeito que eu qria
valeu
[RESOLVIDO]
consegui implementar do jeito que eu qria
valeu
[RESOLVIDO]
GOSTEI 0
Davi Costa
28/12/2012
Posta qual sua solução para compartilhar com a comunidade ;)
att Davi
att Davi
GOSTEI 0
Singular Ti
28/12/2012
Thiago posta ai o que vc fez para resolver o problema
estou encontrando a mesma dificuldade.
value
estou encontrando a mesma dificuldade.
value
GOSTEI 0
Thiago Volpato
28/12/2012
Thiago posta ai o que vc fez para resolver o problema
estou encontrando a mesma dificuldade.
value
estou encontrando a mesma dificuldade.
value
Desculpa ai Davi
mto ocupado cara...
mas esta ai, qualquer coisa post ai vou tenta de ajuda
resolvi esse problema utilizando qualifier
então eu tenho dois qualifier para
cada classe
exemplo: EmployeeDAO Tenho o @QEmployeeDao
EmployeeService tenho o @QEmployeeService
tive que remover o CDI @Named e @Inject (Como é um projeto JSF utilizei a @ManagedBean msm)
e utilizava @EJB para injetar o dao
GOSTEI 0
Singular Ti
28/12/2012
Olá galera para registrar.
eu tbm consegui resolver de uma forma diferente.
eu fiz desta forma e funcionou...
eu tbm consegui resolver de uma forma diferente.
@Stateless(name = "EmpresaRepositoryImpl", mappedName = "ejb/EmpresaRepositoryImpl")
@Local(EmpresaRepository.class)
@TransactionManagement(TransactionManagementType.CONTAINER)
public class EmpresaRepositoryImpl implements EmpresaRepository{
...
}
public class LoginBean {
@EJB
FuncionarioRepository funcionarioService;
public String logar(String login, String senha, Empresa empresa){
String msg = "";
try {
InitialContext ini = new InitialContext();
funcionarioService = (FuncionarioRepository) ini.lookup("ejb/FuncionarioRepositoryImpl");
} catch (NamingException ex) {
ex.printStackTrace();
}
}
}
eu fiz desta forma e funcionou...
GOSTEI 0