通过标题识别Django会话
项目描述
Django会话标题:通过标题识别会话
在某些情况下,浏览器可能根本不允许使用任何cookie。在这些情况下,我们希望能够退回到既安全又实用的东西。这个包允许您通过标题手动传递sessionid,这样您就可以继续使用Django出色的会话管理。
它扩展了Django内置的会话,以支持不允许cookie的地方的会话。对于大多数视图,处理将无缝进行。对于那些需要在没有cookie的情况下持续会话的用户,还有一些额外功能。
用法
首先,安装该包。
pip install django-session-header
将您的settings.py中的django.contrib.sessions.middleware.SessionMiddleware替换为以下内容
MIDDLEWARE_CLASSES = [
# ...
# 'django.contrib.session.middleware.SessionMiddleware',
'django_session_header.middleware.SessionMiddleware',
]
并将Django Rest Framework的SessionAuthentication类替换为django_session_header.authentication.SessionAuthentication
REST_FRAMEWORK = {
'DEFAUlT_AUTHENTICATION_CLASSES': [
# ...
# 'rest_framework.authentication.SessionAuthentication',
'django_session_header.authentication.SessionAuthentication',
]
}
如果会话是通过会话标题获得的,那么request.session.csrf_exempt将设置为True。您可以使用此功能有条件地应用CSRF保护。或者,如果您更喜欢,您可以替换Django的正常CSRF中间件为django_session_header.middleware.CsrfViewMiddleware
MIDDLEWARE_CLASSES = [
# ...
# 'django.middleware.csrf.CsrfViewMiddleware',
'django_session_header.middleware.CsrfViewMiddleware',
]
sessionid将可在X-SessionID响应标题中找到,您现在可以手动设置请求中的X-SessionID标题,以避免需要cookie来驱动您的会话。
项目详情
关闭
django-session-header-11-1.0.1.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | f4ed65882ecba753d7c898809215a5c6b5092c05f5324aadebcc9fcc7e048a54 |
|
MD5 | ca917771a28987d6acacccf34abf557e |
|
BLAKE2b-256 | 0eece24a727bf3d60f8b341b96425f7bb2041b1fccb1c1162ee9e59a54561c36 |
关闭
django_session_header_11-1.0.1-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 2c5c4eb0fbe0b65376ee495117a41b3009807376bb63add559504d5b7d7df263 |
|
MD5 | aa6f01be460b370fb26416630be14231 |
|
BLAKE2b-256 | 929fc0d038346ba11df02763ee07e225e9831fdc5293f4e4599294f9a873bd4a |