Forráskód Böngészése

调整登录接口

yf_fyh 2 éve
szülő
commit
55f5e30b24
2 módosított fájl, 16 hozzáadás és 3 törlés
  1. 9 1
      apps/UserApp/serializers.py
  2. 7 2
      apps/UserApp/views.py

+ 9 - 1
apps/UserApp/serializers.py

@@ -4,7 +4,15 @@ from .models import MyUser
 
 class LoginViewSerializer(serializers.Serializer):
     username = serializers.CharField(help_text="账户", required=True)
-    password = serializers.CharField(help_text="密码", write_only=True)
+    password = serializers.CharField(help_text="密码", required=True)
+    modules = serializers.CharField(help_text="模块", required=True)
+
+    def validate_modules(self, value):
+        if value in ["pestanalysis",]:
+            return value
+        else:
+            raise serializers.ValidationError("modules不支持")
+        
 
 
 class RegisterViewSerializer(serializers.Serializer):

+ 7 - 2
apps/UserApp/views.py

@@ -17,10 +17,15 @@ class LoginView(APIView):
         serializer = LoginViewSerializer(data=request.data)
         serializer.is_valid(raise_exception=True)
         request_data = serializer.validated_data
+
         user = authenticate(**request_data)
         if user is not None and user.is_active:
-            token = get_token(user)
-            return Response(token)
+            if request_data["modules"] == "pestanalysis":
+                if user.is_superuser or user.user_modules == 1:
+                    token = get_token(user)
+                    return Response(token)
+                else:
+                    return Response(data={"msg": "账户无权限进入该模块", "data": ""}, status=status.HTTP_401_UNAUTHORIZED)
         else:
             return Response(data={"msg": "登录验证失败", "data": ""}, status=status.HTTP_401_UNAUTHORIZED)