返回顶部
首页 > 资讯 > 后端开发 > Python >auth模块(登录验证)
  • 624
分享到

auth模块(登录验证)

模块auth 2023-01-30 22:01:29 624人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

settings:'Django.contrib.auth.middleware.AuthenticationMiddleware',#这个是认证的中间件,认证成功的话,就可以把这个用户user封装到request里面,下次过来的话就可以

settings:
'Django.contrib.auth.middleware.AuthenticationMiddleware',
#这个是认证的中间件,认证成功的话,就可以把这个用户user封装到request里面,下次过来的话就可以直接带着这个cookies过来
from  django.contrib.auth import authenticate,login
from django.contrib import auth

from  django.contrib.auth.models import  User

#这个可以拿到这个djanGo自带的User的表,这个是django自己的用户认证的表(创建超级用户和普通用户的表)



from django.shortcuts import render,HttpResponse,redirect
#加了一个装饰器模块



def login(request):
print('进行认证')
if request.method=='POST':
username = request.POST.get('username')
passwd = request.POST.get('passwd')
user = auth.authenticate(username=username, passWord=passwd)
#假如这个验证成功的话,这个user就有值,就可以进行登录
auth.login(request, user)####这个依赖于session,将验证过的用户赋值给request.user属性
#这个是把这个user封装进这个requets里面,下面既可以直接进行调用了,通过requets.user进行调用,进行登录验证
'''
原理讲解:
这个是将这个user封装进这个request里面,就是将这个user和密码写进这个sessions里面,下次过来的时候就可以直接进行访问了,带着这个cookies进行匹配

'''
if user:
return redirect('/index/')
else:

return render(request, 'login.html')


#加了装饰器的话,不知道要跳转到那个页面,所以要先在settings里面加上这个路劲,指定要跳转的页面
'''
原理讲解:
当要到这个index的页面的话,加了装饰器的话,就可以指定跳转到那个页面,在settings里面加了一个login_url的路劲
这个当访问这个index的url的时候,就会跳转到这个login的页面,然后登陆成功的话,就可以到这个index的页面
settings里面的配置:

#配置这个url,如果没有登陆成功的话,就跳转到那个页面
LOGIN_URL="/login/"
'''


@login_required
def index(request):
print('进入这个首页的页面')
ret=request.user.is_authenticated()
    ###这个是判断是否是这个用户已经注册过的
print(request.user.username)
#这个是已经封装到requets的模块里面了,所以可以直接进行调用,在这个request里面有这个user,可以直接进行调用里面的user




def logout(request):
print('注销')
auth.logout(request)
#这个相当于把这个requets里面的user给清除掉,清除掉session_id,注销掉用户

#request.session.flush()
#将session的数据都删除,并且cookies也失效

return redirect('/login/')



def reGISter(request):
print('注册')
user_obj=User.objetcs.create(usernmae='yuxin',password='12')
ret=user_obj.check_password('23443')
#这个是验证密码,注册的时候进行的二次的验证
print(ret)
#修改密码
user_obj.set_password('addsds')
#这个是重新设置这个密码
user_obj.save()
#保存这个密码
return HttpResponse('ok')



原理讲解:

这个相当于在session里面记录一个session_id
request.session['user_id']=user[0].id
生成特殊的字符串
特殊字符串生成key的时候,在数据库里面对应一个session_value
在响应的向这个写了一个cookies,cookies的值就是这个特殊的字符串

 

 

在这个session里面拿到这个user_id
user_obj=request.session.get('user_id')
拿到这个user_id,在已经写进这个session里面的用户拿到这个user_id

 

--结束END--

本文标题: auth模块(登录验证)

本文链接: https://lsjlt.com/news/179864.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • auth模块(登录验证)
    settings:'django.contrib.auth.middleware.AuthenticationMiddleware',#这个是认证的中间件,认证成功的话,就可以把这个用户user封装到request里面,下次过来的话就可以...
    99+
    2023-01-30
    模块 auth
  • python登录验证模块
    #/usr/bin/env python2.7 #-*- coding:utf-8 -*- """ 功能:     登录验证模块 详细说明:     1.密码文件为passwd     2.passwd未创建或丢失,会提示:密码文件不存在,...
    99+
    2023-01-31
    模块 python
  • Laravel9 + jwt-auth 登录认证
    安装 jwt-auth composer require php-open-source-saver/jwt-auth 设置 jwt secret php artisan jwt:secret  3. 修改 config/auth.p...
    99+
    2023-09-21
    laravel php
  • JavaScript实现登录滑块验证
    本文实例为大家分享了JavaScript实现登录滑块验证的具体代码,供大家参考,具体内容如下 html代码 <div class="login-select"> ...
    99+
    2024-04-02
  • vue实现登录时滑块验证
    本文实例为大家分享了vue实现登录时滑块验证的具体代码,供大家参考,具体内容如下 1.效果图 2. 新建 SliderCheck.vue组件 <template> &...
    99+
    2024-04-02
  • python 模拟网站登录——滑块验证码的识别
    普通滑动验证 以http://admin.emaotai.cn/login.aspx为例这类验证码只需要我们将滑块拖动指定位置,处理起来比较简单。拖动之前需要先将滚动条滚动到指定元...
    99+
    2024-04-02
  • mongodb 验证登录
    mongodb  验证登录Start MongoDB without access control.mongod --port 27017 --dbpath /data/db1Connect to...
    99+
    2024-04-02
  • Django中auth模块用户认证的使用
    目录auth模块是什么auth模块常用方法authenticate()login(HttpRequest, user)logout(request)is_authenticated(...
    99+
    2023-03-20
    Django auth模块用户认证 Django auth模块
  • Selenium&Pytesseract模拟登录+验证码识别
    验证码是爬虫需要解决的问题,因为很多网站的数据是需要登录成功后才可以获取的.验证码识别,即图片识别,很多人都有误区,觉得这是爬虫方面的知识,其实是不对的.验证码识别涉及到的知识:人工智能,模式识别,机器视觉,图像处理.主要流程:1 图像采集...
    99+
    2023-01-30
    验证码 Selenium Pytesseract
  • Django中auth模块用户认证如何使用
    本文小编为大家详细介绍“Django中auth模块用户认证如何使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“Django中auth模块用户认证如何使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。auth模...
    99+
    2023-07-05
  • AHBRAM模块验证笔记
    文章目录 AHBRAM模块验证笔记AHBRAM模块解读AHBRAM验证结构布局AHBRAM测试用例AHBRAM覆盖率收集分析覆盖率收集情况添加新的测试用例异常激励测试 AHBRAM模块...
    99+
    2023-09-06
    网络 服务器 网络协议
  • 登录校验之滑块验证码完整实现(vue + springboot)
    文章目录 前言一、实现效果二、实现思路三、实现步骤1. 后端 java 代码1.1 新建一个拼图验证码类1.2 新建一个拼图验证码工具类1.3 新建一个 service 类1.4 新建一个 controller 类1.5 登录接口 ...
    99+
    2023-08-18
    vue.js spring boot java
  • Python模拟登录验证码(代码简单)
    废话不多说了,直接给大家贴代码了。 import urllib import urllib2 import cookielib def getImg(picurl): ''' request for r...
    99+
    2022-06-04
    验证码 代码 简单
  • Django框架基础认证模块auth应用示例
    目录1. auth介绍2. autho常用操作2.1 创建用户2.2 验证用户2.3 验证用户是否登录2.4 已验证的用户想附加到当前会话2.5 快捷增加登录校验装饰器2.6 退出登...
    99+
    2024-04-02
  • Django框架基础认证模块auth这么应用
    本文小编为大家详细介绍“Django框架基础认证模块auth这么应用”,内容详细,步骤清晰,细节处理妥当,希望这篇“Django框架基础认证模块auth这么应用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。1. ...
    99+
    2023-06-29
  • mongodb做有验证(auth)的主从
    前言:我的版本是2.6.9,有auth的主从,在网上找了好久都没有找到,最后在官网上找到做主从的方法,其实很简单如果是做有验证的主从,那么需要用到keyFile的验证,官方是这样说的When running...
    99+
    2024-04-02
  • Express实现登录验证
    本文实例为大家分享了Express实现登录验证的具体代码,供大家参考,具体内容如下 Express实现的路由登录,这套代码适用于很多场景,特此记录,以备后用。 首先是主文件:serv...
    99+
    2024-04-02
  • Python爬虫模拟登录带验证码网站
    爬取网站时经常会遇到需要登录的问题,这是就需要用到模拟登录的相关方法。python提供了强大的url库,想做到这个并不难。这里以登录学校教务系统为例,做一个简单的例子。 首先得明白cookie的作用,coo...
    99+
    2022-06-04
    爬虫 验证码 网站
  • Django 开发拓展 auth 模块,
    原因 使用局部钩子函数 _clean_fields() 对 username、email 字段进行验证时,未返回,具体请参考 _clean_fields() 函数源码。 def clean_username(self): """...
    99+
    2023-01-30
    模块 Django auth
  • python+selenium行为链登录12306(滑动验证码滑块)
    使用python网络爬虫登录12306,网站界面如下。因为网站的反爬是不断升级的,以下代码虽然当前可用,但早晚必将会不再能满足登录需求。但是知识的价值,是不容置疑的。 from s...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作