From f54d20d1e630318d514ed04baed2dd8ac9189552 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=9D=8E=E5=BC=BA?= <1206709430@qq.com>
Date: Wed, 31 Mar 2021 10:35:35 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8DBUG(=E7=94=A8=E6=88=B7?=
=?UTF-8?q?=E7=AE=A1=E7=90=86):=20=E4=B8=AA=E4=BA=BA=E4=BF=AE=E6=94=B9?=
=?UTF-8?q?=E5=AF=86=E7=A0=81bug=EF=BC=8CUserProfile=E6=A8=A1=E5=9E=8B?=
=?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=95=B0=E6=8D=AE=E5=88=9B=E5=BB=BA=E4=BA=BA?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
dvadmin-backend/apps/vadmin/op_drf/middleware.py | 4 ++--
dvadmin-backend/apps/vadmin/permission/models/users.py | 8 +++-----
dvadmin-backend/apps/vadmin/permission/views.py | 2 +-
.../vadmin/scripts/permission/permission_userprofile.sql | 4 ++--
dvadmin-backend/apps/vadmin/utils/authentication.py | 4 +++-
dvadmin-ui/src/views/vadmin/permission/user/index.vue | 3 ++-
6 files changed, 13 insertions(+), 12 deletions(-)
diff --git a/dvadmin-backend/apps/vadmin/op_drf/middleware.py b/dvadmin-backend/apps/vadmin/op_drf/middleware.py
index 8e8169c..c03c039 100644
--- a/dvadmin-backend/apps/vadmin/op_drf/middleware.py
+++ b/dvadmin-backend/apps/vadmin/op_drf/middleware.py
@@ -52,7 +52,7 @@ class ApiLoggingMiddleware(MiddlewareMixin):
user = get_request_user(request)
info = {
'request_ip': getattr(request, 'request_ip', 'unknown'),
- 'creator': user if not isinstance(user, AnonymousUser) else '',
+ 'creator': user if not isinstance(user, AnonymousUser) else None,
'dept_belong_id': getattr(request.user, 'dept_id', None),
'request_method': request.method,
'request_path': request.request_path,
@@ -70,7 +70,7 @@ class ApiLoggingMiddleware(MiddlewareMixin):
log.save()
def process_view(self, request, view_func, view_args, view_kwargs):
- if view_func.cls and hasattr(view_func.cls, 'queryset'):
+ if hasattr(view_func,'cls') and hasattr(view_func.cls, 'queryset'):
request.session['model_name'] = get_verbose_name(view_func.cls.queryset)
return
diff --git a/dvadmin-backend/apps/vadmin/permission/models/users.py b/dvadmin-backend/apps/vadmin/permission/models/users.py
index 2fead2f..e609a2a 100644
--- a/dvadmin-backend/apps/vadmin/permission/models/users.py
+++ b/dvadmin-backend/apps/vadmin/permission/models/users.py
@@ -4,10 +4,10 @@ from django.contrib.auth.models import UserManager, AbstractUser
from django.core.cache import cache
from django.db.models import IntegerField, ForeignKey, CharField, TextField, ManyToManyField, CASCADE
-from ...op_drf.fields import CreateDateTimeField, UpdateDateTimeField
+from ...op_drf.models import CoreModel
-class UserProfile(AbstractUser):
+class UserProfile(AbstractUser, CoreModel):
USER_TYPE_CHOICES = (
(0, "后台用户"),
(1, "前台用户"),
@@ -25,9 +25,6 @@ class UserProfile(AbstractUser):
post = ManyToManyField(to='Post', verbose_name='关联岗位', db_constraint=False)
role = ManyToManyField(to='Role', verbose_name='关联角色', db_constraint=False)
dept = ForeignKey(to='Dept', verbose_name='归属部门', on_delete=CASCADE, db_constraint=False, null=True, blank=True)
- dept_belong_id = CharField(max_length=64, verbose_name="数据归属部门", null=True, blank=True)
- create_datetime = CreateDateTimeField()
- update_datetime = UpdateDateTimeField()
@property
def get_user_interface_dict(self):
@@ -52,6 +49,7 @@ class UserProfile(AbstractUser):
:return:
"""
return cache.delete(f'permission_interface_dict_{self.username}')
+
class Meta:
verbose_name = '用户管理'
verbose_name_plural = verbose_name
diff --git a/dvadmin-backend/apps/vadmin/permission/views.py b/dvadmin-backend/apps/vadmin/permission/views.py
index 72855b4..86110de 100644
--- a/dvadmin-backend/apps/vadmin/permission/views.py
+++ b/dvadmin-backend/apps/vadmin/permission/views.py
@@ -359,7 +359,7 @@ class UserProfileModelViewSet(CustomModelViewSet):
:return:
"""
instance = self.queryset.get(id=request.user.id)
- instance.mobile = request.data.get('newPassword', None)
+ instance.password = request.data.get('newPassword', None)
if not authenticate(username=request.user.username, password=request.data.get('oldPassword', None)):
return ErrorResponse(msg='旧密码不正确!')
instance.set_password(request.data.get('newPassword'))
diff --git a/dvadmin-backend/apps/vadmin/scripts/permission/permission_userprofile.sql b/dvadmin-backend/apps/vadmin/scripts/permission/permission_userprofile.sql
index e59fc9e..56e3630 100644
--- a/dvadmin-backend/apps/vadmin/scripts/permission/permission_userprofile.sql
+++ b/dvadmin-backend/apps/vadmin/scripts/permission/permission_userprofile.sql
@@ -33,8 +33,8 @@
-- ----------------------------
-- Records of permission_userprofile
-- ----------------------------
-INSERT INTO `permission_userprofile` (id, password, last_login, is_superuser, first_name, last_name, is_staff, is_active, date_joined, username, secret, email, mobile, avatar, name, gender, remark, user_type, create_datetime, update_datetime, dept_id, dept_belong_id) VALUES (1, 'pbkdf2_sha256$150000$OjTMSXJgkzrE$jEQCjWbIbXwpN4k2z0o8Yvou1UQGuoJALyL/kGDZFd4=', '2021-02-27 06:20:28.214775', 1, '', '', 1, 1, '2021-02-27 06:20:09.188689', 'admin', '3704adf3-380f-4c27-a8da-60420e8cb4ab', 'admin@qq.com', NULL, NULL, '管理员', '2', '1', 2, '2021-02-27 06:20:09.263192', '2021-02-27 09:14:30.009998', 8, 1);
-INSERT INTO `permission_userprofile` (id, password, last_login, is_superuser, first_name, last_name, is_staff, is_active, date_joined, username, secret, email, mobile, avatar, name, gender, remark, user_type, create_datetime, update_datetime, dept_id, dept_belong_id) VALUES (2, 'pbkdf2_sha256$150000$5Z9LSi7LpNms$xVguE/dOEpI4D95LjSaKm0xzG7vNSopUolANr8f/6/E=', NULL, 0, '', '', 0, 1, '2021-03-03 15:38:27.009893', 'dvadmin', 'b4c5d79a-f01c-4244-92f8-b5288eca1d50', NULL, NULL, NULL, '普通用户', '2', NULL, 0, '2021-03-03 15:38:27.010771', '2021-03-03 15:38:27.086069', 8, 1);
+INSERT INTO `permission_userprofile` (id, password, last_login, is_superuser, first_name, last_name, is_staff, is_active, date_joined, username, secret, email, mobile, avatar, name, gender, remark, user_type, create_datetime, update_datetime, dept_id, dept_belong_id, creator_id) VALUES (1, 'pbkdf2_sha256$150000$OjTMSXJgkzrE$jEQCjWbIbXwpN4k2z0o8Yvou1UQGuoJALyL/kGDZFd4=', '2021-02-27 06:20:28.214775', 1, '', '', 1, 1, '2021-02-27 06:20:09.188689', 'admin', '3704adf3-380f-4c27-a8da-60420e8cb4ab', 'admin@qq.com', NULL, NULL, '管理员', '2', '1', 2, '2021-02-27 06:20:09.263192', '2021-02-27 09:14:30.009998', 1, 1, 1);
+INSERT INTO `permission_userprofile` (id, password, last_login, is_superuser, first_name, last_name, is_staff, is_active, date_joined, username, secret, email, mobile, avatar, name, gender, remark, user_type, create_datetime, update_datetime, dept_id, dept_belong_id, creator_id) VALUES (2, 'pbkdf2_sha256$150000$5Z9LSi7LpNms$xVguE/dOEpI4D95LjSaKm0xzG7vNSopUolANr8f/6/E=', NULL, 0, '', '', 0, 1, '2021-03-03 15:38:27.009893', 'dvadmin', 'b4c5d79a-f01c-4244-92f8-b5288eca1d50', NULL, NULL, NULL, '普通用户', '2', NULL, 0, '2021-03-03 15:38:27.010771', '2021-03-03 15:38:27.086069', 1, 1, 1);
-- ----------------------------
-- Table structure for permission_userprofile_post
-- ----------------------------
diff --git a/dvadmin-backend/apps/vadmin/utils/authentication.py b/dvadmin-backend/apps/vadmin/utils/authentication.py
index cc3b781..4a51ca5 100644
--- a/dvadmin-backend/apps/vadmin/utils/authentication.py
+++ b/dvadmin-backend/apps/vadmin/utils/authentication.py
@@ -12,8 +12,8 @@ from django.utils.translation import ugettext as _
from rest_framework import exceptions
from rest_framework_jwt.utils import jwt_decode_handler
-from .decorators import exceptionHandler
from .jwt_util import jwt_get_session_id
+from ..permission.models.users import UserProfile
logger = logging.getLogger(__name__)
User = get_user_model()
@@ -38,6 +38,8 @@ class OpAuthJwtAuthentication(object):
raise exceptions.AuthenticationFailed(msg)
except jwt.InvalidTokenError:
raise exceptions.AuthenticationFailed()
+ except UserProfile.DoesNotExist:
+ raise exceptions.AuthenticationFailed()
username = payload.get('username', None)
if not username:
diff --git a/dvadmin-ui/src/views/vadmin/permission/user/index.vue b/dvadmin-ui/src/views/vadmin/permission/user/index.vue
index f11d209..35caf58 100755
--- a/dvadmin-ui/src/views/vadmin/permission/user/index.vue
+++ b/dvadmin-ui/src/views/vadmin/permission/user/index.vue
@@ -161,7 +161,7 @@
- {{role.roleName}}
+ {{role.roleName}}
@@ -648,6 +648,7 @@
this.$refs['form'].validate(valid => {
if (valid) {
if (this.form.id != undefined) {
+ this.form.creator = undefined
updateUser(this.form).then(response => {
this.msgSuccess('修改成功')
this.open = false