Cookie,Java会话-Web应用程序



我在理解java web应用程序中的cookie、会话和身份验证时遇到了一点问题。

基本上,我有一个身份验证类,servlet为该对象提供请求对象,它负责根据用户是否登录来返回true或false。

所以,每次用户登录时,我都会创建一个大的随机字符串,并将其作为值提供给response.cookie,同时将其作为属性提供给会话对象,对吗?当该用户提出其他请求时,我会将他刚刚发送给我的cookie与他会话的cookie进行比较,看看是否相同,然后他就会得到身份验证,对吧?

也许我在这里说错了,这就是为什么我希望有人解释用户的身份验证是否是上述过程,或者我错了哪里。

感谢

要么让一个安全框架(如JAAS)来处理它,要么将数据存储在会话中。将其存储在cookie中非常不安全,容易受到各种攻击。看到这个类似的问题

Cookie存储在客户端,会话在服务器中进行管理,因此更安全。使用JAAS或其他框架将为您提供更复杂的身份验证/授权选项。

一个简单的方法是在用户通过身份验证时在会话(或用户对象本身)中设置一个标志。你不必对cookie做任何事情——让容器使用cookie来管理和维护你的会话。你只需要关心会议本身。

为了提高效率,您可以对代码进行优化,在用户登录之前不创建会话。但是,您可能无法存储未登录用户的其他信息(如购物车内容)。节省的少量内存不值得额外麻烦。

我建议使用一个框架——JAAS过于抽象/复杂。使用类似Shiro 的东西

最新更新