From bb76f6c652c45825fd4b30cda54bde9f61482829 Mon Sep 17 00:00:00 2001 From: ibuler Date: Thu, 25 Aug 2016 19:29:59 +0800 Subject: [PATCH] Add api authentication --- apps/jumpserver/settings.py | 10 ++-- apps/static/img/logo.png | Bin 0 -> 6116 bytes apps/templates/_foot_js.html | 32 +++++++++++++ apps/templates/_user_profile.html | 2 +- apps/users/forms.py | 13 ++++++ apps/users/templates/users/login.html | 48 ++++++++++++++++++++ apps/users/templates/users/user_detail.html | 25 ++++++---- apps/users/templates/users/user_edit.html | 2 +- apps/users/urls.py | 3 +- apps/users/views.py | 39 ++++++++++++++-- 10 files changed, 157 insertions(+), 17 deletions(-) create mode 100644 apps/static/img/logo.png create mode 100644 apps/users/templates/users/login.html diff --git a/apps/jumpserver/settings.py b/apps/jumpserver/settings.py index 0692be641..b70bf8950 100644 --- a/apps/jumpserver/settings.py +++ b/apps/jumpserver/settings.py @@ -172,9 +172,13 @@ FIXTURE_DIRS = [os.path.join(BASE_DIR, 'fixtures'), ] REST_FRAMEWORK = { # Use Django's standard `django.contrib.auth` permissions, # or allow read-only access for unauthenticated users. - 'DEFAULT_PERMISSION_CLASSES': [ - 'rest_framework.permissions.DjangoModelPermissionsOrAnonReadOnly' - ], + 'DEFAULT_PERMISSION_CLASSES': ( + 'rest_framework.permissions.DjangoModelPermissionsOrAnonReadOnly', + ), + # 'DEFAULT_AUTHENTICATION_CLASSES': ( + # 'rest_framework.authentication.BasicAuthentication', + # 'rest_framework.authentication.SessionAuthentication', + # ), } # This setting is required to override the Django's main loop, when running in # development mode, such as ./manage runserver diff --git a/apps/static/img/logo.png b/apps/static/img/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..0d8ff20a6b7ad21f50bd998736adec930b76b30c GIT binary patch literal 6116 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 \ No newline at end of file diff --git a/apps/templates/_user_profile.html b/apps/templates/_user_profile.html index f62bc6d28..4c2d07a48 100644 --- a/apps/templates/_user_profile.html +++ b/apps/templates/_user_profile.html @@ -7,7 +7,7 @@ - Admin + {{ request.user.name }} {{ role | default:'普通用户' }} diff --git a/apps/users/forms.py b/apps/users/forms.py index d1621728a..cc6b551c2 100644 --- a/apps/users/forms.py +++ b/apps/users/forms.py @@ -6,6 +6,19 @@ from django import forms from .models import User, UserGroup +# class UserLoginForm(ModelForm): +# class Meta: +# model = User +# fields = [ +# "email", "password" +# ] + + +class UserLoginForm(forms.Form): + username = forms.CharField(label='用户名', max_length=100) + password = forms.CharField(label='密码', widget=forms.PasswordInput, max_length=100) + + class UserAddForm(ModelForm): class Meta: model = User diff --git a/apps/users/templates/users/login.html b/apps/users/templates/users/login.html new file mode 100644 index 000000000..96a86e217 --- /dev/null +++ b/apps/users/templates/users/login.html @@ -0,0 +1,48 @@ +{% load static %} +{% load bootstrap %} + + + + + + + JumpServer + + {% include '_head_css_js.html' %} + + + + + + + + {% include '_foot_js.html' %} + + + + \ No newline at end of file diff --git a/apps/users/templates/users/user_detail.html b/apps/users/templates/users/user_detail.html index eccbbf06c..88188c28e 100644 --- a/apps/users/templates/users/user_detail.html +++ b/apps/users/templates/users/user_detail.html @@ -62,8 +62,7 @@ - + @@ -134,12 +133,8 @@
- {% if user.is_active %} - - {% else %} - - {% endif %} -