Отслеживать действие перед входом в систему? - PullRequest
1 голос
/ 03 января 2011

Я пытаюсь сделать следующее:

  1. Пользователь может голосовать за элемент (контроллер: элемент, действие: голосование)

2a.Если пользователь вошел в систему, то действие голосования проходит.

2б.Если пользователь не вошел в систему, то пользователь должен войти в систему / создать учетную запись (обрабатывается пользовательским контроллером), затем действие голосования проходит.

Как мне сделать 2b таким образом, чтобы после того, как пользователь входит в систему / создает учетную запись, действие голосования автоматически проходит без повторного голосования пользователя за элемент?

Ответы [ 3 ]

0 голосов
/ 04 января 2011

сохранить URL-адрес и параметры голосования в параметрах и перейти к действию входа в систему.

см. Также плагины shiro

0 голосов
/ 21 января 2011

Как и в предыдущих предложениях, вы можете сохранить параметры одного или нескольких действий до входа в систему, но сохранить их как массив массивов в переменной сеанса. Значение ключа массива может быть попыткой действия с любыми применимыми параметрами, сохраненными в данных этого массива. Затем, после входа в систему, вы можете проверить эту переменную сеанса и легко обработать каждый запрос.

0 голосов
/ 03 января 2011

Хранить голосование пользователей в объекте сеанса.Когда пользователь входит в систему, проверьте объект сеанса для существующего голосования.Что-то вроде следующего кода sudo.действие голосования

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

И из действия, выполненного при успешном входе пользователя.

if(session['vote']!=null) {
//read the 'vote' object from your session and put the users vote in
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...