[Logo] Mentawai Forum - Mentawai Web Framework
  [Search] Search   [Recent Topics] Recent Topics   [Members]  Member Listing   [Groups] Back to home page 
[Register] Register / 
[Login] Login 
AuthenticationFree  XML
Forum Index -> Comentários Gerais Go to Page: 1, 2 Next 
Author Message
andre_guitar7


[Avatar]

Joined: 21/03/2006 12:03:21
Messages: 259
Location: Curitiba - PR
Offline

O AuthenticationFree deixa a classe inteira livre de autenticação. Mas eu tenho uma classe que uma função apenas não necessita de autenticação, o resto precisa... como faço ? Meu AuthenticationFilter é um filtro global. Posso deixar ele não global, mas aí dá mais trabalho... sei lá.
saoj



Joined: 01/07/2005 09:59:17
Messages: 2846
Location: Rio de Janeiro, RJ
Offline

Essa função é uma InnerAction ? Se for vc pode configurar o AutenthicationFree apenas para essa InnerAction.

Acho que não faz muito sentido autenticar um método, a não ser que ele seja uma inner action, pois nesse caso vc estará autenticando a action.


Sergio Oliveira

andre_guitar7


[Avatar]

Joined: 21/03/2006 12:03:21
Messages: 259
Location: Curitiba - PR
Offline

saoj wrote:
Essa função é uma InnerAction ? Se for vc pode configurar o AutenthicationFree apenas para essa InnerAction.

Acho que não faz muito sentido autenticar um método, a não ser que ele seja uma inner action, pois nesse caso vc estará autenticando a action.

 
O que é uma InnerAction? vlw!
andre_guitar7


[Avatar]

Joined: 21/03/2006 12:03:21
Messages: 259
Location: Curitiba - PR
Offline

achei.
andre_guitar7


[Avatar]

Joined: 21/03/2006 12:03:21
Messages: 259
Location: Curitiba - PR
Offline

saoj wrote:
Essa função é uma InnerAction ? Se for vc pode configurar o AutenthicationFree apenas para essa InnerAction.

Acho que não faz muito sentido autenticar um método, a não ser que ele seja uma inner action, pois nesse caso vc estará autenticando a action.

 
Como configuro o AutenthicationFree apenas para essa InnerAction?
andre_guitar7


[Avatar]

Joined: 21/03/2006 12:03:21
Messages: 259
Location: Curitiba - PR
Offline

Alguém manja como faço pra deixar um action fora de um filtro global?
saoj



Joined: 01/07/2005 09:59:17
Messages: 2846
Location: Rio de Janeiro, RJ
Offline

Acho que hoje não dá... Teremos que criar uma interface GlobalFilterFree.

Boa dica..

Sergio Oliveira

andre_guitar7


[Avatar]

Joined: 21/03/2006 12:03:21
Messages: 259
Location: Curitiba - PR
Offline

saoj wrote:
Acho que hoje não dá... Teremos que criar uma interface GlobalFilterFree.

Boa dica..
 

Melhor ainda, nesse exemplo:

Code:
       action( "MeuEspaco" , MeuEspacoAction.class )
     		.on( MeuEspacoAction.SUCCESS , fwd( "MeuEspaco.index.jsp" ) )
     		.on( MeuEspacoAction.SUCCESS , "novoUsuario" , fwd( "MeuEspaco.novoUsuario.jsp" ) );


Tenho uma página chamada MeuEspaco.index.jsp e MeuEspaco.novoUsuario.jsp... a primeira precisa estar logado a segunda não... na verdade a minha necessidade era só de redirecionamento, não precisava processar nada na classe MeuEspacoAction.class, tanto é que ela tá assim:

Code:
public class MeuEspacoAction extends BaseAction {
 	
 	public String execute() throws Exception {
 		return SUCCESS;
 	}
 	
 	public String novoUsuario() throws Exception {
 		return SUCCESS;
 	}
 
 }

A diferença é que um redirecinamento é autenticado, outro não..
andre_guitar7


[Avatar]

Joined: 21/03/2006 12:03:21
Messages: 259
Location: Curitiba - PR
Offline

Code:
public class MeuEspacoAction extends BaseAction {
 	
 	public String execute() throws Exception {
 		return SUCCESS;
 	}
 	
 	public String novoUsuario() throws Exception {
 		return SUCCESS;
 	}
 
 }

Talvez vc pense: pra que usar o Menta aqui se ele não tá processando nada... mas posso usar isso mais tarde... posso fazer um contador de cliques aqui, posso criar uma exception personalizada se o servidor estiver com problemas , etc...
saoj



Joined: 01/07/2005 09:59:17
Messages: 2846
Location: Rio de Janeiro, RJ
Offline

Aí vc complicou bastante as coisas, porque:

1) Ou o Global Filter é global ou não é global.

2) Ou a sua action implementa AuthenticationFree ou não implementa !!!

Soluções:

1) Coloca o AutenticationFilter para cada action ao invés de global. Daí vc pode criar um ActionConfig apenas para sua inner action "novoUsuário" que não teria o authentication filter.

2) Faz a action implementar AuthenticationFree e faz a checagem na mão:

Code:
 
 if (!BaseLoginAction.isLogged(session)) {
    return BaseLoginAction.LOGIN;
 }
 


Acho bobagem vc fazer isso... Contador deve ser feito com filtro de servlet para intecerptar os jsps... Sei lá..

Sergio Oliveira

andre_guitar7


[Avatar]

Joined: 21/03/2006 12:03:21
Messages: 259
Location: Curitiba - PR
Offline

Ok, concordo contigo...

saoj wrote:
- Coloca o AutenticationFilter para cada action ao invés de global. 


Ok!

saoj wrote:
- Criar um ActionConfig apenas para sua inner action "novoUsuário" que não teria o authentication filter. 


Não consegui achar algum exemplo de ActionConfig no site... sabe aonde tem um exemplo?

Obrigado...

Ps: esse sistema de usuários é muito bom, poupa um trabalho tremendo...
saoj



Joined: 01/07/2005 09:59:17
Messages: 2846
Location: Rio de Janeiro, RJ
Offline


Veja abaixo que vc está definindo configurações apenas para sua inner action, ou seja, vc tem um ActionConfig especifico para sua inner action.

Isso está aqui: http://www.mentaframework.org/inneraction.jsp

Code:
 // Example 3)
         // You can define an inner action config, 
         // so that consequences and filters can be defined solely for this inner action...
         ac = new ActionConfig("/HelloInnerAction3", HelloInnerActions.class, "sayBye");
         ac.addConsequence(HelloMentawai.SUCCESS, new Forward("/hello3.jsp"));
         // this line below will thrown an exception
         // it doesn't make sense to define an inner action consequence of an inner action config...
         ac.addConsequence(HelloMentawai.SUCCESS, "sayBye", new Forward("/bye3.jsp")); // exception...
         // adding a filter only for this inner action
         ac.addFilter(new SayByeValidationFilter());
         addActionConfig(ac);
 

Sergio Oliveira

saoj



Joined: 01/07/2005 09:59:17
Messages: 2846
Location: Rio de Janeiro, RJ
Offline


Acabei de adicionar a interface GlobalFilterFree (org.mentawai.core.GlobalFilterFree) que uma action pode implementar para evitar que filtros globais sejam aplicados sobre ela.

Acho que isso pode facilitar a sua situação, André. Agora tudo que sua action tem que fazer é implementar essa interface para ter liberdade de redefinir (reutilizar) os filtros globais.

Use inner action configs aqui, como eu falei acima...

Sergio Oliveira

andre_guitar7


[Avatar]

Joined: 21/03/2006 12:03:21
Messages: 259
Location: Curitiba - PR
Offline

Valew, cara... to gostando muito do Menta... pode esperar que muita gente aqui em Curitiba vai conhecer...
RubemAzenha


[Avatar]
Joined: 30/06/2005 23:12:02
Messages: 472
Location: São Paulo, SP
Offline

Tiger, cade vc???
Precisamos de suas anotações!!!


Mentawai Developer
[WWW] [MSN]
 
Forum Index -> Comentários Gerais Go to Page: 1, 2 Next 
Go to:   
Powered by JForum 2.1.6 © JForum Team