0.2.2 完善 api 登录 退出

0.2.2 完善 api 登录 退出
This commit is contained in:
何全
2019-03-27 15:28:38 +08:00
parent 25207e4ad1
commit c35c535081
3 changed files with 34 additions and 11 deletions

View File

@@ -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',

View File

@@ -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())
]

View File

@@ -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):
"""
用户名字/邮箱名字 登录