有可能吗? 这怎么可以实现?
动机 - 我想要一个用于用户供应的安全(SSL)服务(密码......),以及一个非安全的服务。
答案 0 :(得分:1)
Ashwin Desikan在http://code.google.com/p/google-web-toolkit/
上回答了我的问题引用:
吉拉德, 您可以拥有多个RequestFactoryServlet。看看下面的例子。 如果仔细观察,我会有不同的网址映射。你将会有 定义要与之关联的单个RequestTransports 您的客户端中的url-mapping。
此外,您必须控制每个操作所公开的操作 requestFactories在您的客户端。你总是可以有一个基地工厂 您可以在哪里提供常用功能并仅将安全功能移动到 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);
}
}
问候 阿什温