問い合わせ対応などで、他のユーザーとして強制的なログインを行う方法。
操作を間違えたり、他のユーザーとしてログインしたまま放置して操作を間違えると危険なので、使用には十分注意すること。本番環境で行ってはいけません。
この操作方法を行って発生した影響・損害・問題に対して著者は一切の責任を負いません。
# 自分の session_id
session_id = 'abcd1234xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
# 代わりたいユーザーのID
user_id = 1
from django.conf import settings
from user.models import User
engine = __import__(settings.SESSION_ENGINE, {}, {}, [''])
session = engine.SessionStore(session_id)
dict(session) # 自分のユーザーIDか確認
user = User.objects.get(id=user_id)
user # 内容確認
session['_auth_user_id'] = user.id
session['_auth_user_hash'] = user.get_session_auth_hash()
session.save()
ブラウザをリロードすればユーザーが変わっている。
確認作業が終わったら、事故らないようクッキーの消去と正規ユーザーでの再ログインをしておく。
コメント