有些示例会将不同类型的对象注入演示者,但我无法找到解释如何完成此操作。
在Bootstrap-Code示例中,他们正在注射例如一个SecurityDelegate
个对象。
同样在Gatekeeper示例中,我看到正在注入的内容,例如MyGatekeeper
,但这是怎么做到的?
我想要的是首先检查用户是否已登录,然后创建一个CurrentSession
对象或类似的东西。但是我怎样才能传递/注入这个对象?
目前我正在初始化一个单身对象CurrentUser
,这是一种丑陋的imho。我想让GWTP支持运行,但是如何运行?
以注入网守的CurrentSession
为例:
@DefaultGatekeeper
public class LoggedInGatekeeper implements Gatekeeper {
private final CurrentSession currentSession;
@Inject
LoggedInGatekeeper(CurrentSession currentSession) {
this.currentSession = currentSession;
}
@Override
public boolean canReveal() {
return currentSession.isLoggedIn();
}
}
如何在这里注射CurrentSession
?
答案 0 :(得分:0)
这是一个解释如何使用Gatekeeper的教程:http://dev.arcbees.com/gwtp/tutorials/tutorial-part2.html
在你的杜松子酒模块中将CurrentSession的类(教程中的CurrentUser)声明为Singleton:
public class YourGinModule extends AbstractGinModule {
@Override
protected void configure() {
bind( CurrentSession.class ).in ( Singleton.class );
...
}
}
在这里,您可以找到在客户端使用GWTP Gatekeeper和在服务器端使用Spring Security的另一个示例:https://github.com/imrabti/gwtp-spring-security