我对存储当前登录用户信息的最佳方法有疑问。我看待它的方式是,我有两个选择:
1)在对用户进行身份验证之后,实例化User对象,并使用User的数据一次性填充该对象(来自数据库)。然后将该对象序列化为SESSION变量,并在每次要查询该对象以获取信息时对其进行反序列化。
2)只在会话中存储用户ID,并在每次需要一条与登录用户相关的信息时查询数据库(可能通过某种静态类方法)。
哪种方法被视为“最佳做法”?或者既不推荐,我应该采用不同的方法?
非常感谢提前。
答案 0 :(得分:3)
我建议您使用一个包含唯一标识符的序列化对象,以便稍后获取更多信息。但是,在这个对象中,我会保留经常使用的信息,如用户名,如果它显示在每个页面上。尽量保持会话中的数据尽可能小。