Mudar de HTTPS para HTTP

1,159 views
Skip to first unread message

Samuel Bandeira

unread,
Mar 30, 2009, 3:04:15 PM3/30/09
to javasf: JavaServer Faces International Group
Pessoal,

estou implementando uma página de login com HTTPS. Consegui fazer
isso e está funcionando!
Agora eu quero sair da página HTTPS e voltar a enviar requisições
HTTP. Eu quero enviar requisição para uma url começando com HTTP,
porém lá no faces-config.xml no <navigation-rule> eu não consigo
colocar a URL completa... Alguém tem alguma idéia?

desde já agradeço

Rafael Rossignol Felipe

unread,
Mar 30, 2009, 4:33:29 PM3/30/09
to jav...@googlegroups.com
Não sei se seria a melhor maneira
mas ao invés de usar regra de navegação, você poderia por javascript forçar a porta
https usa a 443
http usa 80

vc faz um location.href = "http://server:80"

não sei se seria a melhor solução

agora, por curiosidade, qual a necessidade de sair da https?

2009/3/30 Samuel Bandeira <samuelb...@gmail.com>



--
_________________________________
http://rafaelrossignol.wordpress.com/
http://paramudarobrasil.wordpress.com/

samuel bandeira coelho

unread,
Mar 30, 2009, 4:53:34 PM3/30/09
to jav...@googlegroups.com
Rafael,

    eu tenho uma aplicação onde só é necessário HTTPS na página de login, pois assim a senha é enviada criptografada pela rede. Quando eu entro na aplicação não é necessário utilizar HTTPS. Na verdade eu posso utilizar HTTPS em todas as páginas, porém todas as requisições serão criptografadas tornando a aplicação mais lenta que o necessário...rs
     Bem, vlw pela resposta eu vou tentar fazer o que vc sugeriu...

abraços  

2009/3/30 Rafael Rossignol Felipe <ogra...@gmail.com>



--
Att,

 Samuel

Leonardo da Costa Lopes

unread,
Mar 31, 2009, 1:12:36 AM3/31/09
to jav...@googlegroups.com
Rafael, nao seria melhor você so configurar o seu web.xml  com algo parecido com isso?


<security-constraint>
<web-resource-collection>
<web-resource-name>SENHA</web-resource-name>
<description>Acesso só via HTTPS</description>
<url-pattern>/login/*</url-pattern>
<http-method>POST</http-method>
<http-method>GET</http-method>
</web-resource-collection>
<user-data-constraint>
<description>Usar SSL</description>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>

veja esse link: http://www.guj.com.br/posts/list/29710.java

acho que vai ajudar

2009/3/30 samuel bandeira coelho <samuelb...@gmail.com>



--
Leonardo da Costa Lopes
SKYPE:  leo_clopes
msn: leo_c...@hotmail.com
icq: 161837781
Linux User: 419447

" There are more things in heaven and earth, Horatio, Than are dreamt of in your philosophy." William Shakespeare

samuel bandeira coelho

unread,
Mar 31, 2009, 9:44:22 AM3/31/09
to jav...@googlegroups.com
Leonardo,

      obrigado pela resposta... o meu web.xml está assim:

<security-constraint>

<display-name>minhaAplicacao</display-name>

<web-resource-collection>

<web-resource-name>Area Protegida</web-resource-name>

<!-- Define URL(s) relativos ao contexto a serem protegidos -->

<url-pattern>/login/*</url-pattern> 

</web-resource-collection>

<user-data-constraint>

<transport-guarantee>CONFIDENTIAL</transport-guarantee>

</user-data-constraint>

</security-constraint>


 O HTTPS funciona. O problema é quando eu tento sair da área confidencial, ou seja,  eu me autentiquei com sucesso e quando entro na aplicação não quero mais usar HTTPS, eu quero voltar a enviar mensagens HTTP. 

  O problema no JSF é que eu não consigo informar a url completa para onde ele será redirecionado... eu coloco no faces-config.xml algo assim:


<navigation-rule>

<from-view-id>/login/login.jsp</from-view-id>

<navigation-case>

<from-outcome>sucesso</from-outcome>

<to-view-id>/paginas/home.jsp</to-view-id>

</navigation-case>

</navigation-rule>


Aí está o problema! O JSF completa automaticamente a minha url enviando para https://localhost:8443/minhaAplicacao/paginas/home.faces. Nesse momento eu queria alterar a url para HTTP!!! 

   Como eu faço para o JSF aceitar uma url completa na regra de navegação???


Obrigado pelas respostas.. mas infelizmente o problema ainda permanece...rs


2009/3/31 Leonardo da Cossta Lopes <leo.c...@gmail.com>



--
Att,

 Samuel

Tiago Augusto Nogueira Coelho

unread,
Mar 31, 2009, 10:20:03 AM3/31/09
to jav...@googlegroups.com
Você utiliza o Seam? eu sei que nele tem alguma coisa para isso. Não se se vale a penas voce dar uma lida na doc dele e tentar pegar alguma ideia de como ele faz isso.

samuel bandeira coelho

unread,
Mar 31, 2009, 12:09:34 PM3/31/09
to jav...@googlegroups.com
Tiago,

   valeu pela dica.. vou dar uma olhada na documentação do seam e ver como ele resolve isso. Assim que obter alguma solução eu vou postar aqui.
   
    abraços

2009/3/31 Tiago Augusto Nogueira Coelho <tiagoa...@gmail.com>

Você utiliza o Seam? eu sei que nele tem alguma coisa para isso. Não se se vale a penas voce dar uma lida na doc dele e tentar pegar alguma ideia de como ele faz isso.






--
Att,

 Samuel

Leonardo da Costa Lopes

unread,
Mar 31, 2009, 12:41:48 PM3/31/09
to jav...@googlegroups.com
Samuel,

no seu sever.xml vc colocou algo do tipo


<Connector 
port="8443" minProcessors="5" maxProcessors="75"
enableLookups="true" disableUploadTimeout="true"
acceptCount="100" debug="0" scheme="https" secure="true";
clientAuth="false" sslProtocol="TLS" keystoreFile="c:\.keystore">
</Connector>
não foi? Entao dentro dessa Connector coloca 
redirectPort="8080"
    ficando o Connector como


<Connector 
port="8443" minProcessors="5" maxProcessors="75"
enableLookups="true" disableUploadTimeout="true"
acceptCount="100" debug="0" scheme="https" secure="true";
clientAuth="false" sslProtocol="TLS" keystoreFile="c:\.keystore" redirectPort="8080">
</Connector>

vê se isso funciona?

flw

2009/3/31 samuel bandeira coelho <samuelb...@gmail.com>

--
Leonardo da Costa Lopes
+55 (61) 9633-8759
+55 (61) 3201-6508
Reply all
Reply to author
Forward
0 new messages