【问题标题】:restricting staff users to user dashboard将员工用户限制为用户仪表板
【发布时间】:2019-09-15 11:47:01
【问题描述】:

我想限制员工用户访问普通用户仪表板

def my_view(request):
    username = request.POST['username']
    password = request.POST['password']
    user = authenticate(request, username=username, password=password)
    if user is not None:
       if user.is_active:
          return redirect('admin')
       esle:
           login(request, user)
           return redirect('users:home')


        # Redirect to a success page.
        ...
    else:
        # Return an 'invalid login' error message.
        ...

我希望员工类型只能从管理面板登录,他们不应该能够访问用户仪表板。

【问题讨论】:

    标签: django


    【解决方案1】:

    您需要在用户仪表板视图中设置限制,而不是在登录视图中进行更改。你可以这样做:

    from django.contrib.auth.decorators import login_required
    
    @login_required
    def dashboard_view(request):
        if request.user.is_staff or request.user.is_superuser:
           return redirect('admin:index')
    
        # rest of the logic
    

    【讨论】:

      猜你喜欢
      • 2020-04-18
      • 2021-02-03
      • 2018-06-01
      • 2015-08-04
      • 2016-02-22
      • 1970-01-01
      • 2011-12-29
      • 2011-04-20
      • 2017-07-15
      相关资源
      最近更新 更多