Problema no import do SecurityAssociation

Estou seguindo o tutorial do jakefrog (http://uaihebert.com/?p=56), estou com um problema no import

import org.jboss.security.SecurityAssociation;

aparentemente minha aplicação está com o resto funcionando corretamente… pois quando eu tiro as 2 linhas abaixo, o sistema funciona normalmente:

String userName = SecurityAssociation.getPrincipal().getName(); System.out.println("Yeeey! Get me here and find me in the database: " + userName);

otra coisa, como eu faço para manipular o usuário que está logado?
por exemplo:

  • se a role dele for usuario redireiconar para /usuario/index.html
  • se a role for admin redirecionar para /admin/admin.xhtml
  • como deslogar ele
  • como alterar a senha dele, e outro atributos que ele possuir…

na verdade em partes eu sei como fazer isso… mais qual a maneira correta de se fazer? alguem tem uma sugestão?

tentei esses topicos (auxiliares) e nao consegui resolver meu problema:


http://kickjava.com/src/org/jboss/security/SecurityAssociation.java.htm

Vc está utilizando qual JBoss?

OBS.: Muito bom esse blog hein?! Mahauhaa :lol: :lol: :lol:

hehe eu sei q eh seu :stuck_out_tongue: … realmente e mto bom!!

então, to usando o 6 mesmo… inclusive eu fiz o download naquele link…

ak meu projeto funciona tudo normal… só essa parte do import ai que ta dando erro :frowning:

eu tenho uma situação assim:

o cara quando acessa o sistema cai na login.xhtml
e a partir dali, quando logado ele pode ir pra /admin ou /usuario

se eu vou no navegador, acesso o site já tentando entrar no /admin, ele redireciona no login.xhtml, ai eu faço login e ele vai depois pro /admin normal, e aparece a página

se eu vou no navegador acesso o site no login normal, ele da o erro: “Invalid direct reference to form login page”
ai se eu vou no navegador e tento ir pro /admin ele vai normal…

como eu faço pra ver se o cara entro como admin redirecionar automaticamente pra /admin
ou se ele logo como usuario, redirecionar pra /usuario?

Basta no filter que faz a validação você direcionar para a página correta.

Mas estou achando muito estranho vc está com problemas no import.

Você adicionou as bibliotecas do JBoss ao seu projeto?

1- então pelo que vi, o jaas que faz a validação do usuário… e quando eu logo nao passa no LoginFilter… olha como ele ta hoje… como eu iria fazer pra redirecionar pra /admin caso ele for admin?

[code] @Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws IOException,
ServletException {

    		System.out.println("passo ak");


    		HttpServletRequest servletRequest = (HttpServletRequest) request;  
    		boolean a = servletRequest.isUserInRole("ADMIN");
    		
    		if(a){
    			System.out.println("se for admin passa aqui, então eu posso fazer o redirecionamento: " + a);
    		}
    	
 	        filterChain.doFilter(request, response);
    }[/code]

2- sobre o import eu coloquei uma img aki em anexo… aparentemente eu fiz corretamente… vc saberia me dizer qual é a lib desse import?

--------------EDIT-------------

ahh, por exemplo, eu tava olhando essa parte de um outro tutorial seu bem parecido…
nessa pagina http://uaihebert.com/?p=836&page=7
vc coloca o welcome file pages/protected/user/listAllDogs.xhtml
entao quando o cara digita pra entra no sistema, vai tenta redireciona pra essa página ai, e automaticamente vai ver que o usuário está deslogado e jogar para a página /pages/public/login.xhtml

mais assim que o usuário logar, ele vai ser redirecionado pra página pages/protected/user/listAllDogs.xhtml, pq foi a que ‘ele tentou’ acessar…

no meu caso, o cara ja cai diretamente na página de login… o login eh o meu welcome-file… pq o cara pode se logar como administrador ou como usuário, então somente depois que ele logar eu tenho que ver, se ele for administrador vai pra /administrador e se for usuario vai pra /usuario

Obrigado por tudo.

[quote=jakefrog]Basta no filter que faz a validação você direcionar para a página correta.

Mas estou achando muito estranho vc está com problemas no import.

Você adicionou as bibliotecas do JBoss ao seu projeto?[/quote]


Para redirecionar você poderia utilizar o sendRedirect do httpResponse.

Realmente ta bizarro o eclipse não encontrar o import do jboss. O.o

Tente fazer um build/clean do seu projeto e veja se funciona… =D

1-então, eu sei como usar o sendRedirect… o problema é o seguinte… quando eu clico em logar, nao passa pelo filtro…
eu preciso que quando o botão logar for acionado, passe pelo filtro, pra ver se o usuario ta logando com a role ADMIN ou USUARIO e a partir dai da um sendRedirect para ADMIN ou USUARIO

2- realmente nao acha o import… tentei em outro pc, baxei o jboss novamente, criei o projeto, criei a classe filter, e nada…

3- o clean eu fiz várias vezes… no projeto, no servidor, fiz build, tentei altera o caminho, tentei d td aki rsrs
:frowning:

[quote=jakefrog]Para redirecionar você poderia utilizar o sendRedirect do httpResponse.

Realmente ta bizarro o eclipse não encontrar o import do jboss. O.o

Tente fazer um build/clean do seu projeto e veja se funciona… =D[/quote]

É por isso que no web.xml eu aponto para uma outra página e não a de login sacou?

Oq e você pode fazer é criar um index e deixar como sendo o welcome-file. Esse index seria apenas para usuário normal. No filter não iria fazer nada
Caso o cara fosse admin, aí no filter seria redirecionado para a página de admin. Q tal?