Django-用户模块与权限系统相关

Django的用户模块与权限系统

Django的用户系统都提供哪些功能:

  • 提供用户模块(User Model)
  • 权限验证(默认添加已有模块的增加删除修改权限)
  • 用户组与组权限功能
  • 用户鉴权与登录功能
  • 与用户登录验证相关的一些函数与装饰方法

 

1、登录

# some_view.py
from django.contrib.auth import authenticate, login
 
def login(request):
    username = request.POST['username']
    password = request.POST['password']
 
    # Django提供的authenticate函数,验证用户名和密码是否在数据库中匹配
    user = authenticate(username=username, password=password)
 
    if user is not None:
        # Django提供的login函数,将当前登录用户信息保存到会话key中
        login(request, user)
 
        # 进行登录成功的操作,重定向到某处等
        ...
    else:
        # 返回用户名和密码错误信息

2.注销

from django.contrib.auth import logout
 
def logout(request):
    # logout函数会清除当前用户保存在会话中的信息
    logout(request)

3.验证是否登录

def some_fuction(request):
    user = request.user
    if user.is_authenticated:
        # 已登录用户,可以往下进行操作
    else:
        # 返回要求登录信息

4.验证是否有权限

 def some_fuction(request):
    user = request.user
    if user.has_perm('myapp.change_bar'):
        # 有权限,可以往下进行操作
    else:
        # 返回禁止访问等信息

 

posted @ 2018-11-23 13:57 MAU 阅读(...) 评论(...) 编辑 收藏
Life will always knock us down, but we can choose whether to stand back up, then keep fighting. 生活会把我们打趴下,但我们可以选择重新站起来,继续奋斗。