关于使用cookie做用户以登陆校验。

最近学了cookie跟session,然后在开源项目中看到如下一段代码。


Member loginMember = (Member) request.getSession().getAttribute(Const.SESSION_MEMBER);
return loginMember;

从如上代码看来,他的key是一个固定值常量,也就是说一个浏览器只能有一个用户
cookie,还有一种写法是key是根据username加密后的字符串,那么这样就可以存储多个用户的cookie了,想请教一下,这2做做法有何利弊呢,一般网站都是选择哪种的?

一般都是固定key,像你说的第二种 存多个用户的cookie 首先我想不到这么做有什么作用 另外如果存多个cookie key都不一样

发出请求的时候会把多个cookie都带上,那么你服务器又要怎么读取cookie呢 key都不一样 要读哪一个呢? 个人想法

以你目前问的问题,建议你还是把cookie是什么,session是什么搞清楚先。打好基础再看开源项目吧

这个不是cookie的技术吧

这个 明显是服务器端的session,cookie是客户端的 ;session用唯一的key是可以的,因为不同的用户有不同的session,服务端为每个用户创建一个session

首先 Session 是存在服务器端的,客户端通过 cookie 来存储一个唯一的 session_id ,客户端请求服务器端时会自动把这个域的 cookie(也就是session_id)带给服务器,服务器端通过比对这个session_id 与服务器里面的session是否一致来判断是否为同一个会话(首先你要理解 http 是无状态的),但是这样有个缺陷 就是你在做分布式的时候会需要把session_id共享到每个服务器里,这样很麻烦,这时就出现了 JWT 技术,具体的楼主自己了解一下吧, 求赞.

cookie中session_id 唯一

建议使用session,但还是要好好查一下,cookie和session的基本概念,