问题描述
我正在 Django 中创建一个具有 4 个用户角色的请求批准系统
- 请求发起者有权仅提出请求并查看它
- 有权批准和查看请求的审批人
- 只有查看权限的查看者
- 拥有所有权限的管理员
如果我以管理员身份登录,我需要创建一个可以在前 3 个用户之间切换的功能,以便我可以测试系统的功能,而无需一次又一次地登录和注销。
基本上我需要创建一个切换帐户,该帐户将向我显示网页,因为其他用户只需单击一下按钮即可看到它,我创建了一个将帐户切换到另一个用户的视图,但是一旦我切换到另一个用户用户 我失去了再次切换的功能,因为现在我没有以管理员身份登录...我可以修改此功能以查看如果其他具有不同访问权限的用户在不注销的情况下查看网页,网页的外观作为管理员?
def switch_account(request):
new_user_id = request.POST.get('userID')
new_user_pwd = request.POST.get('password')
user = fetch_user(request,new_user_id,pwdnew_user_pwd
admin = check_if_admin(str(request.user))
if admin:
new_user = authenticate(request,new_user_pwd)
login(request,new_user)
messages.success(request,'Account switched to '+ new_user_id)
return redirect(DASHBOARD_VIEW)```
解决方法
django-hijack 正是为此的绝佳选择。