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

Django的用户模块与权限系统

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

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

 

一、登陆django

# 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.注销app

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.验证是否有权限spa

 def some_fuction(request):
    user = request.user
    if user.has_perm('myapp.change_bar'):
        # 有权限,能够往下进行操做
    else:
        # 返回禁止访问等信息
相关文章
相关标签/搜索