![](/img/trans.png)
[英]how to manage sessions in django after the user is logged in (without using default admin )?
[英]Using admin permission, how to authenticate or logged into the user account without a password?
我是 django 应用程序的新手,我想通过管理员权限检查/登录没有密码的用户帐户。
Django 中是否有任何内置功能? 请帮助或指导我如何做到这一点?
PHP 中的 laravel 提供的这种功能
下面是 PHP 的示例代码:
use Illuminate\Http\Request;
use App\User;
public function loginAsUser(User $user){
auth()->guard('admin')->logout();
auth()->guard('web')->loginUsingId($user->id);
return redirect(route('user.dashboard'));
}
这是对我有用的最简单的逻辑。
[html / template page ]
<a href="{% url 'login_as' user.username %}">Login as User</a>
[urls.py]
path('login_as/<username>', views.login_as_user, name='login_as'),
[views.py]
from django.contrib.auth import login
@staff_member_required()
def login_as_user(request, username):
try:
# assuming the user name is passed in via get
username = username
user = User.objects.get(username=username)
# manually set the backend attribute
user.backend = 'django.contrib.auth.backends.ModelBackend'
login(request, user)
except Exception as e:
messages.warning(request, e)
#location of landing
return redirect('/users/dashboard')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.