【发布时间】:2012-02-16 14:24:33
【问题描述】:
这个可以吗? 以及如何做到这一点?
动机 - 我想要一个用于用户配置(密码...)的安全 (SSL) 服务和一个不安全的服务。
【问题讨论】:
-
这篇文章可能也与您的需求有关Authentication in GWT
标签: gwt requestfactory
这个可以吗? 以及如何做到这一点?
动机 - 我想要一个用于用户配置(密码...)的安全 (SSL) 服务和一个不安全的服务。
【问题讨论】:
标签: gwt requestfactory
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);
}
}
问候 阿什温
【讨论】: