前文提到,当模块安装过多后,signed cookie大小将超过4093byte(http://blog.csdn.net/onlyellow/article/details/51564986)。
但是浏览器所支持的cookie大小是有限制的(详情参考http://browsercookielimits.squawky.net/)
既然没有办法修改浏览器设置,那就只剩两条路了:
1. 设法减少生成的cookie size
2. 放弃cookie
对于第一条,暂时没有好的思路(主要是我对cookie生成机制以及合适生成还未研究过)。
第二条倒是有解决办法:利用database替代cookie记录session:
https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux_OpenStack_Platform/5/html/Cloud_Administrator_Guide/dashboard-sessions.html
直接按照redhat文档进行操作就行。不过实践中发现有个地方需要修改:
SESSION_ENGINE = 'django.core.cache.backends.db.DatabaseCache'修改成:
SESSION_ENGINE = 'django.contrib.sessions.backends.db'修改完成后重启httpd服务。可以正常登录了。