通过标题识别Django会话
项目描述
Django Session Header:通过标题识别会话
在某些情况下,浏览器可能不允许使用任何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',
]
会话ID将在响应头中的X-SessionID下可用,现在您可以在请求中手动设置X-SessionID头,以避免需要cookies来支持会话。
项目详情
关闭
django-session-header-1.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | dcbffc01d21ffcf22344529142d320300f76d7de7d14ff2e9b29b830b5a6c54b |
|
MD5 | c8e7b791c58895d32f5a564625443c77 |
|
BLAKE2b-256 | 3455bea72634c423822c80b8142a68e1ffc5a5067c62e398546833ef3a6d2684 |
关闭
django_session_header-1.0-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 683c940c8b2550a2ccf45ab58def563921f14ecb307746960b03ea3cac6b0f57 |
|
MD5 | f86f7dcd45a1c5f2ef51a69e5cd810c7 |
|
BLAKE2b-256 | f17b65ec8d807c4d9d5bda1b4626e5dc5d5aeab8dc1577c83de6ea32bd2f0b4a |