mirror of
https://github.com/hequan2017/seal.git
synced 2026-02-13 07:05:41 +08:00
0.2.2 完善 api 登录 退出
0.2.2 完善 api 登录 退出
This commit is contained in:
@@ -51,6 +51,7 @@ INSTALLED_APPS = [
|
||||
MIDDLEWARE = [
|
||||
'django.middleware.security.SecurityMiddleware',
|
||||
'django.contrib.sessions.middleware.SessionMiddleware',
|
||||
'django.contrib.auth.middleware.AuthenticationMiddleware',
|
||||
'corsheaders.middleware.CorsMiddleware',
|
||||
'django.middleware.common.CommonMiddleware',
|
||||
'django.middleware.csrf.CsrfViewMiddleware',
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
from django.urls import path
|
||||
from system.views import login_view, UserPasswordUpdateView, logout_view, GetInfo
|
||||
from system.views import login_view, UserPasswordUpdateView, logout_view, UserInfo
|
||||
|
||||
app_name = "system"
|
||||
|
||||
@@ -7,5 +7,8 @@ urlpatterns = [
|
||||
path('login', login_view, name="login"),
|
||||
path('password_update', UserPasswordUpdateView.as_view(), name="password_update"),
|
||||
path('logout', logout_view, name="logout"),
|
||||
path('get_info', GetInfo.as_view()),
|
||||
|
||||
|
||||
path('api/user_info', UserInfo.as_view()),
|
||||
path('api/logout', UserInfo.as_view())
|
||||
]
|
||||
|
||||
@@ -12,25 +12,44 @@ from django.contrib.auth.mixins import LoginRequiredMixin, PermissionRequiredMix
|
||||
from django.contrib.auth.decorators import login_required
|
||||
from django.views.generic import ListView, View, DetailView, CreateView, UpdateView
|
||||
from django.contrib.auth import logout
|
||||
from rest_framework.authentication import TokenAuthentication
|
||||
from rest_framework.authtoken.models import Token
|
||||
from rest_framework.views import APIView
|
||||
from rest_framework.response import Response
|
||||
|
||||
logger = logging.getLogger('system')
|
||||
|
||||
|
||||
class GetInfo(View):
|
||||
class UserInfo(APIView):
|
||||
"""
|
||||
为了 配合 seal-vue 项目 临时使用
|
||||
获取用户信息
|
||||
"""
|
||||
def get(self, request):
|
||||
admin = {
|
||||
'name': 'super_admin',
|
||||
'user_id': '1',
|
||||
'access': ['super_admin', 'admin'],
|
||||
'token': 'super_admin',
|
||||
def post(self, request):
|
||||
token = (json.loads(request.body))['token']
|
||||
obj = Token.objects.get(key=token).user
|
||||
result = {
|
||||
'name': obj.username,
|
||||
'user_id': obj.id,
|
||||
'access': ['super_admin', 'admin'] if obj.is_superuser else [],
|
||||
'token': token,
|
||||
'avator': 'https://file.iviewui.com/dist/a0e88e83800f138b94d2414621bd9704.png'
|
||||
}
|
||||
return HttpResponse(json.dumps(admin))
|
||||
return HttpResponse(json.dumps(result))
|
||||
|
||||
|
||||
class UserLogin(APIView):
|
||||
"""
|
||||
|
||||
"""
|
||||
def post(self, request):
|
||||
token = (json.loads(request.body))['token']
|
||||
obj = Token.objects.get(key=token)
|
||||
obj.delete()
|
||||
result = {
|
||||
"status": True
|
||||
}
|
||||
return HttpResponse(json.dumps(result))
|
||||
|
||||
class CustomBackend(ModelBackend):
|
||||
"""
|
||||
用户名字/邮箱名字 登录
|
||||
|
||||
Reference in New Issue
Block a user