Domanda

E 'possibile avere questo? E come può essere realizzato?

La motivazione - voglio uno sicuro Servizio (SSL) in user-provisioning (password ...), e uno non protetto

.
È stato utile?

Soluzione

Ashwin Desikan risposto alla mia domanda su http://code.google.com/p / google-web-toolkit /

Quote:


Gilad, È possibile avere più RequestFactoryServlets. controllare l'esempio seguente. Se si guarda da vicino, ho una mappatura URL diverso. Tu avrai definire i singoli RequestTransports essere associati url-mapping nel client.

Inoltre, si dovrà operazioni controll esposte da ciascuno dei requestFactories nel tuo client. Si può sempre avere una fabbrica di base dove è possibile fornire funzioni comuni e spostare solo quelli garantiti a SecuredRequestFactory

Quello che mi sento di raccomandare con questo approccio è, prima di utilizzare il RequestFactories hanno un controllo nel codice per determinare se un utente è connesso. Se registrato in uso servlet sicuro per tutte le richieste.

esempio;

* * 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> 

client

*//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); 
     } 
} 

saluti Ashwin

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top