【问题标题】:Multiple RequestFactory servlets for a single GWT application单个 GWT 应用程序的多个 RequestFactory servlet
【发布时间】:2012-02-16 14:24:33
【问题描述】:

这个可以吗? 以及如何做到这一点?

动机 - 我想要一个用于用户配置(密码...)的安全 (SSL) 服务和一个不安全的服务。

【问题讨论】:

标签: gwt requestfactory


【解决方案1】:

Ashwin Desikan 在http://code.google.com/p/google-web-toolkit/ 上回答了我的问题

引用:


吉拉德, 您可以有多个 RequestFactoryServlet。看看下面的例子。 如果你仔细看,我有一个不同的 url 映射。你将会有 定义要与 客户端中的 url 映射。

此外,您还必须控制每个 客户端中的请求工厂。你总是可以有一个基础工厂 您可以提供常用功能并仅将受保护的功能移动到 SecuredRequestFactory

我建议使用这种方法的是,在使用 RequestFactories 会检查您的代码以确定用户是否 登录。如果已登录,则对所有请求使用安全 servlet。

例子;

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

客户

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

问候 阿什温

【讨论】:

    猜你喜欢
    • 2011-06-25
    • 2013-02-02
    • 2011-06-26
    • 2012-08-17
    • 1970-01-01
    • 2012-09-14
    • 2011-11-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多