您现在的位置是: 网站首页> 学习笔记> Django Django
django admin使用自定义用户类以后,新增用户保存的密码为明文
2024-08-04 [django] 966人已围观
如题,使用了自定义用户表,使用admin.ModelAdmin注册到后台,在新 增用户时,系统保存到数据库的密码为明文,不仅不安全,还会造成认证 失败,因为认证时系统会拿明文去解密再认证。 网上大多是说在admin中添加如下配置:
fieldsets = (None, {'fields': ('username','password', 'phone', 'is_superuser', 'is_active')}),
add_fieldsets = (None, {'classes': ('wide',), 'fields': (
'username', 'password1', 'password2', 'phone', 'is_superuser', 'is_staff', 'is_active'), }),
或者很多其它类似的配置。实事是添加这些配置也无济于事,反而会让密码 框无法显示出来。
正确的处理方法
不使用admin.ModelAdmin而使用UserAdmin。
例:
from django.contrib.auth.admin import UserAdmin
@admin.register(SysUser)
class SysUserModelAdmin(UserAdmin):
list_display = ['username', 'phone', 'is_superuser', 'is_staff', 'is_active', ]
search_fields = ('username', 'phone')
list_filter = ('is_superuser', 'is_active')
fieldsets = (None, {'fields': ('username','password', 'phone', 'is_superuser', 'is_active')}),
add_fieldsets = (None, {'classes': ('wide',), 'fields': (
'username', 'password1', 'password2', 'phone', 'is_superuser', 'is_staff', 'is_active'), }),
相关文章
- django在执行migrate时抛异常:django.db.utils.OperationalError: (1824, "Failed to open the referenced table 'auth_group'")
- django接入支付宝支付抛异常request sign failed. int() argument must be a string, a bytes-like object or a real number, not 'Sequence'
- django使用自定义存储类上传图片到阿里OSS,makemigrations时报异常
- django admin使用自定义用户类以后,新增用户保存的密码为明文
文章评论
暂无评论添加评论
点击排行
本栏推荐
标签云
热评文章
- django使用qq邮箱发送邮件
- mysql8设置数据库远程连接
- pip修改下载源为国内源
- win10看不到win7共享的文件夹的解决方法
- SQLyog连接 Mysql 8.0.11 报error no.1251- Client does not support authentic...
- 使用Oracel Net Nanager配置Oracle数据库远程访问
- 将anaconda的下载源切换为国内的源
- Python+selenium+firefox设置代理IP
- selenium+firefox+js实现动态设置firefox浏览器代理IP
- scrapy文件下载(高新技术企业认定网)
- Python调用JS代码
- Chrome浏览器的overrides的使用
站点信息
- 建站时间:2021-01-01
- 网站程序:Django 3.1.2
- 文章统计:53篇
- 文章评论:36条
- 统计数据: