在登录前跟踪行动?

时间:2011-01-03 19:19:48

标签: grails

我正在尝试执行以下操作:

  1. 用户可以为某个项目投票(控制器:项目,操作:投票)
  2. 2a上。如果用户已登录,则投票操作将通过。

    2B。如果用户未登录,则用户需要登录/创建帐户(由用户控制器处理),然后投票操作通过。

    我如何做2b这样一旦用户登录/创建帐户,投票操作会自动通过而无需用户再次为该项目投票?

3 个答案:

答案 0 :(得分:0)

将用户投票存储在会话对象中。当用户登录时,检查会话对象以进行现有投票。像下面的sudo代码。 投票行动

if (isLoggedIn==false)
{
session['vote']=voteObject
}

从用户成功登录时执行的操作开始。

if(session['vote']!=null) {
//read the 'vote' object from your session and put the users vote in
}

答案 1 :(得分:0)

将投票网址和参数存储到参数中,并传递给登录操作。

另见shiro插件

答案 2 :(得分:0)

与之前的建议类似,您可以在登录前存储来自一个或多个操作的参数,但是将它们存储为会话变量中的数组数组。数组键值可以是使用存储在该数组数据中的任何适用的参数尝试的操作。然后登录后,您可以检查该会话变量并轻松处理每个请求。

相关问题