Récupérer la session de l'utilisateur dans le Controller
Bonjour,
Comme j'ai une relation many-to-one entre une Evaluation et un User, et que l'Evaluation est créé après validation d'un test, j'aimerais pouvoir rentrer dans la colonne user_id de Evaluation l'id ou le user connecté en session, sachant qu'il faut forcément être connecté pour passer le test.
Voici mon controler qui gère l'Evaluation
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| @RequestMapping(value="showQcm/{sequenceId}", method = RequestMethod.POST)
public String processQcm(@PathVariable ("sequenceId") Long sequenceId,
@ModelAttribute ("evaluation") Evaluation evaluation,
Model model) {
Qcm qcm = qcmService.findBySequenceId(sequenceId);
evaluation.setQcm(qcm);
evaluation.setDate(new Date());
evaluationService.save(evaluation);
evaluationService.saveCorrectAnswers(qcm, evaluation);
model.addAttribute("eval", evaluation);
model.addAttribute("qcmSuccess", qcm);
return "qcmSuccess";
} |
D'après ce que j'ai lu sur le web, j'ai essayé plusieurs trucs, notamment
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| @RequestMapping(value="showQcm/{sequenceId}", method = RequestMethod.POST)
public String processQcm(@PathVariable ("sequenceId") Long sequenceId,
@ModelAttribute ("evaluation") Evaluation evaluation,
@ModelAttribute ("connectedUser") User user,
Model model) {
Qcm qcm = qcmService.findBySequenceId(sequenceId);
evaluation.setQcm(qcm);
evaluation.setUser(user);
evaluation.setDate(new Date());
evaluationService.save(evaluation);
evaluationService.saveCorrectAnswers(qcm, evaluation);
model.addAttribute("eval", evaluation);
model.addAttribute("qcmSuccess", qcm);
return "qcmSuccess";
} |
avec
Code:
1 2
| @Controller
@SessionAttributes("connectedUser") |
ou bien en rajoutant dans processQcm HttpSession session, et session.setAttribute("connectedUser", user),
mais rien ne marche.
Auriez vous des suggestions ?