session存放登录信息的困扰

cjx_java01 2011-02-02 12:47:24
用户登录后,在session中存放用户id还是把整个用户对象都扔到session中??哪个好?为什么?
...全文
223 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
要存也不会存个用户 ID 啊,至少存个 username 吧?否则这个用户 ID 还不是得去数据库中查?

存对象的话,是这样的话,要看这个 User 对象中的东西用到得多不多,如果有几个属性一直被用到,那就把 username 和这几个属性的值放到 User 对象,然后再放到 HttpSession 中去。当然了,我并不是说把所有 User 表字段中的数据全部塞进去!
桐桐-Dragon 2011-02-03
  • 打赏
  • 举报
回复
建议存对象,因为存什么都是存一个。存对象方便,需求变更的时候也好处理
quanwe 2011-02-03
  • 打赏
  • 举报
回复
在这里说下.你不是有userVo吗.想想VO. 还有Session里不能存太多东西.服务器承受问题..
sky_pearl 2011-02-02
  • 打赏
  • 举报
回复
用什么存什么就好了 如果只存ID那么如果要用到用户的其他数据就要再从数据库调,如果访问量比较大的话就把常用的信息都存一下比较好
网络科技 2011-02-02
  • 打赏
  • 举报
回复
存ID的话,当需要对象时,要得去数据库查询,如果很频繁的话,显然会影响些性能的。
所以,个人还是觉得存对象好。有人说,不安全,我觉得没什么不安全的,对象不存入密码或把密码加密了,那那么容易破,再说了,session是你当前操作的浏览器,你用完,退出后,都消毁了,根本也得不到了,不像cookie存储在本地。
还有,一个对象挺多也就几十个字段,算起来顶多几K大小的内容而已,大可不必担心数据太多而加重服务器的负担。
君望永远 2011-02-02
  • 打赏
  • 举报
回复
存放ID好了 但最好有个其他唯一标识 防止伪造
happyfmy 2011-02-02
  • 打赏
  • 举报
回复
id session中不易放入过多信息 加重服务器负担
liu372267001 2011-02-02
  • 打赏
  • 举报
回复
之前都是存的对象,以后好好考虑,看需求吧
quanwe 2011-02-02
  • 打赏
  • 举报
回复
看你的需求.

各有各的好处.只能这样说.

只放ID的话数据可能安全.使用的时候再些个根据ID查寻对象的方法.

放对象的话更方便.数据可能不安全.使用到用户时候就对象.属性就好了.会有影响
MicroPHP v2.3.3 更新日志: 优化了: 1.数据验证的手机号验证规则,支持17号段手机号 修复了: 1.PDO数据库驱动RND拼写错误,更正为RAND MicroPHP v2.3.2更新日志: 修复了: 1.apache伪静态支持问题,新版apache在.htaccess中开启了伪静态在之后, $_SERVER里面的PATH_INFO变量变了名字为:REDIRECT_PATH_INFO 升级提示:无   升级提示: 1.修改入口文件里面最后两行 WoniuRouter::setConfig($system); WoniuRouter::loadClass(); 修改为: MpRouter::setConfig($system); MpRouter::loadClass(); 即可。 2.如果使用了插件模式,修改插件入口文件plugin.php里面最后一行 WoniuRouter::setConfig($system); 修改为: MpRouter::setConfig($system); 即可。 3.如果自定义了loader,ver2.2.14以前是自定义了loader必须继承WoniuLoader,现在修改为继承MpLoader即可。 4.如果自己使用了WoniuRouter::setConfig($system);WoniuRouter::loadClass(); 修改为MpRouter::setConfig($system);MpRouter::loadClass();即可.   MicroPHP是一个免费、开源、敏捷的MVC模式的PHP开发框架。它易拓展而不失灵活,可以轻松对应大中小型项目。它没有大而全的功能,只给你最需要的底层功能,但是给你无限的灵活拓展能力。   说一下MicroPHP的特性: 极简核心 整个框架核心就一个文件MicroPHP.php(压缩后的文件MicroPHP.min.php,140KB左右)。 入口亦配置 一个入口文件index.php也是整个项目的配置文件,可以自定义多个入口文件达到不同项目共存的目的,项目之间随意共享类库、帮助文件等目录,框架核心文件采用零侵入式编写,整个框架运行不依赖任何外部变量。 独特插件模式 插件模式可以把框架嵌入到任何现有的程序代码到中,然后按着MicroPHP框架的各种特性写代码。 结构灵活 项目控制器、模型、视图、类库等各种文件夹完全自定义,都不是必需的,用到什么就建立什么文件夹,彻底摆脱一堆无用的一大堆文件夹的困扰。 类库懒加载 类库采用懒加载模式,只在需要时才包含类库,而不是一次全部加载,做到按需启用。且支持一级子文件夹自动加载,在类库很多需要用文件夹分类时,能保持程序结构的简洁清晰。 共享视图数据 没有视图就不能指定视图数据?文件可以include共享那么视图为什么不能共享数据呢?在MicroPHP里面你不再有这个困挠,MicroPHP可以在$this->view_vars数组里面存放你的任何想在视图里面使用的全局数据。 SESSION管理灵活 SESSION托管支持:mongodb、mysql、memcache、redis。配置灵活,根据项目具体情况择优选用即可。 缓存灵活 缓存支持:auto、apc、sqlite、files、memcached、redis、wincache、xcache、memcache。auto:自动模式。 缓存第二驱动 当你现在代码中使用的是memcached,然后代码转移到一个新服务器且不支持memcached,这时候怎么办呢?设置第二驱动即可,当你设置的驱动不支持的时候,系统就使用第二驱动。 HMVC模式 HMVC(Hierarchical-Model-View-Controller),也可以叫做 Layered MVC。顾名思义,就是按等级划分的 MVC 模式,简单的解释就是把MVC又细分成了多个子 MVC,每个模块就分成一个 MVC。使用 HMVC 的好处就是可以降低各个功能模块之间的耦合性,提高代码复用性,使得每个功能都可以独立出来,每个模块都有自己的 MVC 结构,这就有点像 ActiveX 控件,每个控件都有自己的行为,控件之间互不影响。     相关阅读 MicroPHP 2.2.12 详细发布说明 同类推荐:程序框架

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧