Django 账户切换

问题描述

我正在 Django 中创建一个具有 4 个用户角色的请求批准系统

  1. 请求发起者有权仅提出请求并查看它
  2. 有权批准和查看请求的审批人
  3. 只有查看权限的查看者
  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 正是为此的绝佳选择。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...