auth用户认证模块

auth模块

用auth模块 就一定要用它本身提供的一些查询,检索,修改,校验的方法

自带的admin管理后台中创建管理员用户,普通用户

(tools菜单中的run manager.py选项下输入)

如何创建超级用户 用于登录django admin的后台管理
    createsuperuser

    createuser  #普通用户

auth基本使用语法

(views.py中)


from django.contrib import auth
from django.contrib.auth.models import User

校验用户是否存在
user_obj = auth.authenticate(username=username,password=password)  # 返回的是数据对象
                                                                   # 没有返回None
# is_alive = User.objects.filter(username=username) #通过orm查找

#保存用户登录状态
auth.login(request,user_obj)# 执行完这一句之后 只要是能够拿到request的地方
                            # 都可以通过request.user获取到当前登录用户对象

            """该方法会主动帮你操作session表 并且只要执行了该方法
            你就可以在任何位置通过request.user获取到当前登录的用户对象
            """

# 简单快捷的判断用户是否登录
print(request.user.is_authenticated())  

# 校验原密码对不对
is_right = request.user.check_password(old_password)

# 修改密码
request.user.set_password(new_password)  # 仅仅只会在内存中产生一个缓存 并不会直接修改数据库
request.user.save()  # 一定要点save方法保存 才能真正的操作数据库

# User.objects.create(username=username,password=password)
# 不用使用create 密码会直接存成明文

# 创建普通用户
User.objects.create_user(username=username,password=password)  

# 创建超级用户  邮箱字段必须填写
User.objects.create_superuser(username=username,password=password,email='[email protected]') 

auth模块自带登陆装饰器

(views.py中)


from django.contrib.auth.decorators import login_required

# @login_required(login_url='/login/')  # 局部配置,直接加在函数上,和普通装饰器一样

# auth校验用户是否登录 全局配置跳转url
LOGIN_URL = '/login/'   #在setings.py中加入

@login_required
def set_password(request):
    ..

当我们使用auth用户认证模块,在表中想要加字段可以继承AbstractUser来实现,自动生成User也是继承了这个.

(models.py中)

from django.contrib.auth.models import AbstractUser
# Create your models here.

class Userinfo(AbstractUser):
    """
    强调 你继承了AbstractUser之后 你自定义的表中 字段不能跟原有的冲突
    """
    phone = models.BigIntegerField()
    avatar = models.FileField()
    register_time = models.DateField(auto_now_add=True)

# auth自定义表配置  (在settings.py任意位置加入)
AUTH_USER_MODEL = 'app01.Userinfo'
# 固定语法: AUTH_USER_MODEL = '应用名.表名'

原文地址:https://www.cnblogs.com/cheng825/p/11773856.html

时间: 2024-08-29 10:57:27

auth用户认证模块的相关文章

Django之auth模块用户认证模块

一.Auth模块 1)auth模块是什么.登录后台使用的账号密码,则就是使用的auth模块创建的表 Auth模块是Django自带的用户认证模块: 我们在开发一个网站的时候,无可避免的需要设计实现网站的用户系统. 此时我们需要实现包括用户注册.用户登录.用户认证.注销.修改密码等功能,这还真是个麻烦的事情呢. Django作为一个完美主义者的终极框架,当然也会想到用户的这些痛点.它内置了强大的用户认证系统--auth, 它默认使用 auth_user 表来存储用户数据. 2)auth模块的功能

重新开发Jumpserver用户认证模块,调用独立认证接口(一)

一.概述 Jumpserver用的是python的django框架开发,所以主要完成两个事情: 1.开发自己的认证后台 一个认证后台就是要实现如下两个方法的类: get_user(id) 和 authenticate(**credentials) . 方法 get_user 返回一个 User 对象,参数 id 可以是用户名或者数据库ID.  方法authenticate(**credentials)可以使用密码.token或者已有的认证接口实现身份认证,返回User对象.如果你的认证后台的Us

实战Nginx(3)-访问控制与用户认证模块及nginx内置状态页介绍

一.访问控制模块详解 Nginx的访问控制模块是ngx_http_access_module,实际上deny和allow指令属于ngx_http_access_module.我们想控制某个uri或者一个路径不让人访问,就需要依赖此模块. 1.模块安装: 编译安装nginx时不需要指定访问控制模块参数,这个模块已经内置在了nginx中,除非你安装中使用了--without-http_access_module. 2.模块指令: 允许:allow 语法: Syntax:allow address |

重新开发Jumpserver用户认证模块,调用独立认证接口(二)

一.urls.py # --*--coding:utf-8--*-- from django.conf.urls import patterns, url urlpatterns = patterns('myauth.login', url(r'^login/$', 'do_login', name='login'), url(r'^logout/$', 'do_logout', name='logout'), ) 二.myauth_backend.py Jms_Users 是继承Django的

python2.0_day18_Django自带的用户认证模块的使用

用户验证我们基于一个项目来学习利用Django框架中的user表实现用户认证Django练习小项目:学员管理系统设计开发 项目需求: 1.分讲师\学员\课程顾问角色, 2.学员可以属于多个班级,学员成绩按课程分别统计 3.每个班级至少包含一个或多个讲师 4.一个学员要有状态转化的过程 ,比如未报名前,报名后,毕业老学员 5.客户要有咨询纪录, 后续的定期跟踪纪录也要保存 6.每个学员的所有上课出勤情况\学习成绩都要保存 7.学校可以有分校区,默认每个校区的员工只能查看和管理自己校区的学员 8.客

laravel的auth用户认证的例子

参考http://www.cnblogs.com/yjf512/p/4042356.html 需要注意的是,生成的测试数据,password部分必须用laravel自带的hash一下 Hash::make('yourpassword'); 之前随便写了个明文的,Auth::attempt死活失败,蛋疼 另外,默认的是email做用户认证,可以这样换掉 Route::filter('auth.basic', function() { return Auth::basic('username');

auth用户认证库

关于auth库,建议如下:1. ion_auth,基于Redux重写而成,非常不错的认证库,国外用的很多,几个最新的ci2.0.2基础上的开源系统(如doveforum)都用它,支持ci 2.0和以上,2010年的版本就已经稳定,目前仍然在更新.    优点:这个库除了用户认证,还搭建了简单的权限框架,支持admin.group的结构,并可直接使用,有完整的user_guide,很方便,而且再ci英文社区里受到热捧,使用是比较有保障的.    缺点:不支持captcha(图形验证码),所以还需要

Apache用户认证---模块

1.vim /usr/local/apache/conf/extra/http-vhosts.conf更改虚拟主机配置文件 加入: <Directory /data/www/abc>         #----需要认证访问的文件目录 AllowOverride AuthConfig AuthName "自定义的" AuthType Basic AuthUserFile /data/.htpasswd         #----------存放用户名密码的文件,[不可复制进去

auth模块用户认证

一.auth模块什么 auth模块时django自带的用户认证模块 我们在开发一个网站的时候,无可避免的需要设计实现网站的用户系统.此时我们需要实现包括用户注册.用户登录.用户认证.注销.修改密码等功能,这还真是个麻烦的事情呢. Django作为一个完美主义者的终极框架,当然也会想到用户的这些痛点.它内置了强大的用户认证系统--auth,它默认使用 auth_user 表来存储用户数据 二auth模块常用方法 首先先导入auth模块 from django.contrib import auth