Bom dia pessoal,
Estou começando um projeto em JSf 2.0 + Tomcat 6, que faz uma integração para controle de segurança com um projeto mais antigo, que utiliza Acegi Security. Já implementei a parte de login, e está funcionando corretamente. No meu teste, quando executo o trecho abaixo, recupero o login do meu usuário, sem problemas.
Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
String username = authentication.getName();
Porém, estou com um erro aqui ao tentar usar o Acegi JSF na minha aplicação (JSF 2.0). No meu arquivo index.xml (que faz o login) eu coloquei a declaração abaixo:
index.xhtml
[code]
[/code]A biblioteca acegi-jsf-1.1.3.jar está no meu build-path.
ProjetoTeste
|
|__src
|__<fontes>
|__web
|__index.xhtml
|__WEB-INF
|__web.xml
|__faces-config.xml
|__lib
|__acegi-jsf-1.1.3.jar
|__acegi-security-1.0.6.jar
|__commons-logging.jar
|__commons-logging-api.jar
|__javax.faces-2.1.6.jar
|__jdom-1.1.2.jar
|__spring-2.5.jar
No index.xhtml, eu coloquei o código abaixo, para determinar um texto que só deve aparecer após o usuário concluir o login:
<acegi-jsf:authorize ifAnyGranted="ROLE_COMUM">
<div class="box_msg">
<p>Este texto só deve aparecer com o usuario logado</p>
</div>
</acegi-jsf:authorize>
Porém, ao acessar a página, recebo o aviso:
Warning: This page calls for XML namespace http://sourceforge.net/projects/jsf-comp/acegijsf declared with prefix acegijsf but no taglibrary exists for that namespace.
E, obviamente, o texto que deveria ser restrito aparece livremente na tela. Eu tentei colocar a taglib acegijsf.tld dentro do meu WEB-INF e declará-la no meu web.xml, pra usar localmente, mas ele dá o mesmo erro
Warning: This page calls for XML namespace /WEb-INF/acegijsf declared with prefix acegijsf but no taglibrary exists for that namespace.
Alguém sabe como contornar este problema?
Obrigada.