Pregunta

¿Es posible tener esto? ¿Y cómo se puede lograr esto?

La motivación: quiero un servicio asegurado (SSL) para el tratamiento de usuarios (contraseñas ...) y otro no seguro.

¿Fue útil?

Solución

Ashwin Desikan respondió a mi pregunta en http://code.google.com/p/google-web-toolkit/

Cotizar:


Gilad, puede tener múltiples requestFactoryServlets. Mira el ejemplo a continuación. Si lo miras de cerca, tengo un mapeo de URL diferente. Tendrá que definir las solicitudes individuales para estar asociados con el mapeo de URL en su cliente.

Además, tendrá que controlar las operaciones expuestas por cada una de las factores de seguridad de su cliente. Siempre puede tener una fábrica base en la que puede proporcionar funciones comunes y mover solo las aseguradas a SecuredRequestFactory

Lo que recomendaría con este enfoque es antes de usar las fábricas de solicitudes de requisitos en su código para determinar si un usuario está registrado. Si inicia sesión, use el servlet seguro para todas las solicitudes.

ejemplo ;

*web.xml *

<filter> 
<filter-name>AuthFilter</filter-name> 
<filter-class>com.example.server.gae.GaeAuthFilter</filter-class> 
</filter> 
<filter-mapping> 
<filter-name>AuthFilter</filter-name> 
<servlet-name>authRequestFactory</servlet-name> 
</filter-mapping> 
<servlet> 
<servlet-name>authRequestFactory</servlet-name> 
<servlet-class>com.google.web.bindery.requestfactory.server.RequestFactoryS ervlet</servlet-class> 
</servlet> 
<servlet> 
<servlet-name>unAuthRequestFactory</servlet-name> 
<servlet-class>com.google.web.bindery.requestfactory.server.RequestFactoryS ervlet</servlet-class> 
</servlet> 
<servlet-mapping> 
<servlet-name>unAuthRequestFactory</servlet-name> 
<url-pattern>/unsignedRequest</url-pattern> 
</servlet-mapping> 
<servlet-mapping> 
<servlet-name>authRequestFactory</servlet-name> 
<url-pattern>/signedRequest</url-pattern> 
</servlet-mapping> 

cliente

*//AuthenticatedRequestTransport* 

public class AuthenticatedRequestTransport extends DefaultRequestTransport { 
     /** 
      * default constructor. 
      * 
      */ 
     public AuthenticatedRequestTransport() { 
         super(); 
         //set the url 
         String requestURL = GWT.getHostPageBaseURL() + "signedRequest"; 
         setRequestUrl(requestURL); 
     } 
} 

*//Un-Authenticated Request* 
public class UnAuthenticatedRequestTransport extends 
DefaultRequestTransport { 
     public UnAuthenticatedRequestTransport() { 
         super(); 
         //set the url 
         String requestURL = GWT.getHostPageBaseURL() + "unsignedRequest"; 
         setRequestUrl(requestURL); 
     } 
} 

Saludos Ashwin

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top