我正在谷歌应用引擎上开发基于struts的应用程序。我正在使用谷歌的用户服务,允许用户登录我的应用程序。
当用户登录其Google帐户并打开我的应用程序时,我的应用程序不得要求再次登录。假设我的应用程序的主页是index.jsp,它应该说
欢迎用户xyz@gmail.com
为此,我必须检查当前是否有这样的用户
<%
UserService userService = UserServiceFactory.getUserService();
User user = userService.getCurrentUser();
if(user == null)
//login link
else
//Welcome message
%>
但我不应该在我的应用程序中使用scriptlet。我必须使用struts标签来实现这一点。
非常感谢任何帮助。谢谢你们提前和美好的一天。
答案 0 :(得分:0)
首先,您需要注册登录会话的用户。您必须创建一个操作,您将把支票帐户的代码放入Google:
public LoginAction {
@Action(...)
public String login () {
UserService userService = UserServiceFactory.getUserService();
User user = userService.getCurrentUser();
ActionContext.getContext().getSession().put("user", user);
return "success";
}
}
然后您将在任何jsp上提供该用户。 jsp代码类似于:
<s:if test="#session.user == null">
//login link
</s:if>
<s:else>
//Welcome message
</s:else>
当用户注销时,您只需删除会话对象。
如果你需要在他的Google帐户中注销用户,则需要一个拦截器来检查它是否仍然一直被记录。