如何解码此会话数据?

2024-09-30 20:19:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个旧的django应用程序正在运行,我正试图找出如何解析会话对象。以下是我迄今为止所做的:

>>> import base64
>>> x = base64.b64decode(session_data)
>>> x
 '7489edf05bcdeae69f718ed7c809b32539646478:\x80\x02}q\x01(U\x12_auth_user_backendq\x02U)django.contrib.auth.backends.ModelBackendq\x03U\r_auth_user_idq\x04\x8a\x01\x01u.'
>>> x.split(':')[1]
'\x80\x02}q\x01(U\x12_auth_user_backendq\x02U)django.contrib.auth.backends.ModelBackendq\x03U\r_auth_user_idq\x04\x8a\x01\x01u.'

由此,我将如何获得以下解码对象:

{
    'auth_user_backend': 'django.contrib.auth.backends.ModelBackend',
    'auth_user_id': 1,
}

我目前的方法是使用正则表达式,但这似乎是最糟糕的解决方案

注意:我已经在how to find user id from session_data from django_session table?上手动测试了每一个解决方案,但没有一个有效(大多数解决方案都尝试解析json,但即使是上面的解决方案也没有{


Tags: 对象djangoauthdatasession解决方案contribbackends