首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

关于应用加密cookie取代session

2012-11-07 
关于使用加密cookie取代session目前公司想要做集群,请问关于使用加密cookie取代session方案.1 楼magicgod2

关于使用加密cookie取代session
目前公司想要做集群,请问关于使用加密cookie取代session方案. 1 楼 magicgod 2008-03-03   参考一下rails 2.0的缺省session方式就是这样 2 楼 highriver 2008-03-03   看到有人推荐apache下的roller实现的是这种方式.我对rails不熟悉.只是想找一个完速的方案.因为领导要求将所有的httpSession替换,以便集群时避免session的复制.网上查了一下,想通过cookie来解决.哪位对roller熟悉呢? 3 楼 flyraincn 2008-03-04   能不能把cookie中的信息加密一下,服务端处理时解密一下,只要能防止cookie中的信息不被篡改就行了吧 4 楼 lumin 2008-03-05   flyraincn 写道能不能把cookie中的信息加密一下,服务端处理时解密一下,只要能防止cookie中的信息不被篡改就行了吧
cookies中的信息可以更改吗?应该不能吧! 5 楼 aunox 2008-03-06   可以更改cookies内容。 6 楼 hexiaodong 2008-03-06   为什么要加密cookie?用随机字符串作cookie值就行了,在集中式认证服务器上,把这个随机值和用户Id做一个映射。 7 楼 liquidthinker 2008-03-06   加密cookie?不太明白意图。不管cookie加密与否,都需要在服务器端维护一个副本,只需要拿客户端的cookie到服务器端的副本比较验证就行了,既然都要验证,加不加密有什么区别呢。如果不在服务器上维护副本,又不用session,怎么维护状态呢。既然要在服务器上维护客户端cookie的副本,又跟使用session有合区别呢。我没看懂,还是楼主是想说sso? 8 楼 rojazz1999 2008-03-06   本人立志成为Javaeye的灌水之王,请大家多多支持. 9 楼 suxy 2008-03-06   两年前看过roller的实现,大概是这样:

1. 对用户唯一标记(可能是id,记不清了)根据某个算法加密为一个字符串,把这个字符串写入cookie,并存入数据库。
2. 用户发起请求时先从本地取cookie,并根据请求的用户id去数据库中查找它对应的cookie,如果跟本地cookie相同,则认为是正确的用户,重复步骤1的操作。如果不同,则验证失败。

上述操作是在一个filter中进行的。

大概就是这样,不知道我说清楚没有 10 楼 neptune 2008-03-07   不知道你的session中有大数据量时,你该如何处理。

例如:用户信息、权限列表。 11 楼 lixjluck 2008-03-07   用户信息、权限列表可以放在cache里,不一定非是session. 12 楼 lixjluck 2008-03-07   可以参考一下acegi的RememberMeService的实现。 13 楼 flyraincn 2008-03-07   liquidthinker 写道加密cookie?不太明白意图。不管cookie加密与否,都需要在服务器端维护一个副本,只需要拿客户端的cookie到服务器端的副本比较验证就行了,既然都要验证,加不加密有什么区别呢。如果不在服务器上维护副本,又不用session,怎么维护状态呢。既然要在服务器上维护客户端cookie的副本,又跟使用session有合区别呢。我没看懂,还是楼主是想说sso?

前提是集群,要拿客户端的cookie与服务器端的副本比较的话,那就得服务器间同步cookie副本,那与同步session有什么区别 14 楼 neptune 2008-03-07   这个问题在这个论坛上,也没少谈论了吧。
cookie是不可以完全代替session的,你这里的方案,cookie存放的只是一个为一的标识(如用户id),在服务器端你还是要维护session的数据的,例如把session如果放到memcache中。除非需求对session的数据量要求非常少,几个或十几个时可以使用加密cookie来处理,但为了系统的扩展性,不知这种实现还可以吗。 15 楼 jjcang 2008-03-07   session的实现就是cookie啊。
当然还有一些其它实现,不过一般都是cookie被禁止时才用的。 16 楼 zzxplayful 2008-03-08   你看一下CAS,它就是用cookie实现多个应用集成的,它采用的是https来加密cookie的 17 楼 pf_miles 2008-03-09   可以考虑专门建一个session服务器,用Berkerly DB等实现存储,把容器的标准session换掉。 18 楼 yt 2008-03-10   这个对密码的要求很高了,如果加密算法被破解的话,那系统衣服就脱光了 19 楼 iXh 2009-02-20   路过。。。。 20 楼 legend 2009-02-20   liquidthinker 写道加密cookie?不太明白意图。不管cookie加密与否,都需要在服务器端维护一个副本,只需要拿客户端的cookie到服务器端的副本比较验证就行了,既然都要验证,加不加密有什么区别呢。如果不在服务器上维护副本,又不用session,怎么维护状态呢。既然要在服务器上维护客户端cookie的副本,又跟使用session有合区别呢。我没看懂,还是楼主是想说sso?

他的意思可能是用 Cookie 取代 Session,这样服务器端不需要保存应用状态,节省服务器资源,而加密密钥则在服务器端共享,所有的客户端都是用同一个密钥。不过加密解密本身也会消耗计算资源,所以这种方法,可能只是把一个空间问题变成了一个时间问题。

热点排行