如何在用户登录帐户后以他们无法查看和编辑其他用户数据的方式区分用户?在记录过程中以某种方式记住用户ID然后进行WHERE user_id = x等查询是一种很好的方法吗?还是有其他聪明的方法吗?
基本上,我使用spring框架进行日志记录程序,但我并不是这个框架的高级用户。用户登录后,他们必须向数据库插入一些关于他们自己的信息(即名字,姓氏,电子邮件等)并填写他们的时间表。我真的不知道如何获取当前用户的id以让他们编辑和插入他们自己的数据。
答案 0 :(得分:1)
是的,您应该将他们的用户ID存储在会话变量中(如果您不知道哪些会话也是如此)
答案 1 :(得分:0)
您始终可以使用SecurityContextHolder获取当前登录用户。 SecurityContextHolder具有当前线程的登录用户。
Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
if (authentication != null && !authentication.getPrincipal().toString().equalsIgnoreCase("anonymous")) {
User loggedInUser = (User) authentication.getPrincipal();
}