add login/logout to home, add 'only authenticated users are allowed to go to admin view'
This commit is contained in:
@@ -9,3 +9,13 @@ def unauthenticated_user(view_func):
|
|||||||
return view_func(request, *args, **kwargs)
|
return view_func(request, *args, **kwargs)
|
||||||
|
|
||||||
return wrapper_func
|
return wrapper_func
|
||||||
|
|
||||||
|
|
||||||
|
def authenticated_user(view_func):
|
||||||
|
def wrapper_func(request, *args, **kwargs):
|
||||||
|
if request.user.is_authenticated:
|
||||||
|
return view_func(request, *args, **kwargs)
|
||||||
|
else:
|
||||||
|
return redirect('home')
|
||||||
|
|
||||||
|
return wrapper_func
|
||||||
|
|||||||
@@ -4,16 +4,11 @@ from django.contrib import messages
|
|||||||
from django.contrib.auth.models import User
|
from django.contrib.auth.models import User
|
||||||
|
|
||||||
from .authentications import authentication
|
from .authentications import authentication
|
||||||
# from .decorators import unauthenticated_user
|
from .decorators import unauthenticated_user, authenticated_user
|
||||||
|
|
||||||
|
|
||||||
# @unauthenticated_user
|
@unauthenticated_user
|
||||||
def loginPage(request):
|
def loginPage(request):
|
||||||
"""
|
|
||||||
if request.user.is_authenticated:
|
|
||||||
return redirect('home')
|
|
||||||
else:
|
|
||||||
"""
|
|
||||||
if request.method == 'POST':
|
if request.method == 'POST':
|
||||||
username = request.POST.get('username')
|
username = request.POST.get('username')
|
||||||
password = request.POST.get('password')
|
password = request.POST.get('password')
|
||||||
@@ -29,12 +24,13 @@ def loginPage(request):
|
|||||||
login(request, user)
|
login(request, user)
|
||||||
return redirect('home')
|
return redirect('home')
|
||||||
else:
|
else:
|
||||||
messages.info(request, 'username OR password is incorrect')
|
messages.info(request, 'username or password is incorrect')
|
||||||
|
|
||||||
context = {}
|
context = {}
|
||||||
return render(request, 'authentications/login.html', context)
|
return render(request, 'authentications/login.html', context)
|
||||||
|
|
||||||
|
|
||||||
|
@authenticated_user
|
||||||
def logoutUser(request):
|
def logoutUser(request):
|
||||||
logout(request)
|
logout(request)
|
||||||
return redirect('home')
|
return redirect('home')
|
||||||
|
|||||||
@@ -115,7 +115,7 @@ DATABASES = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
AUTHENTICATION_BACKENDS = [
|
AUTHENTICATION_BACKENDS = [
|
||||||
'django.contrib.auth.backends.RemoteUserBackend',
|
# 'django.contrib.auth.backends.RemoteUserBackend',
|
||||||
'django.contrib.auth.backends.ModelBackend',
|
'django.contrib.auth.backends.ModelBackend',
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ from . import views
|
|||||||
from posts.views import PostViewSet
|
from posts.views import PostViewSet
|
||||||
from members.views import MemberViewSet
|
from members.views import MemberViewSet
|
||||||
from rest_framework import routers
|
from rest_framework import routers
|
||||||
|
from authentications.decorators import authenticated_user
|
||||||
|
|
||||||
router = routers.DefaultRouter()
|
router = routers.DefaultRouter()
|
||||||
router.register(r'posts', PostViewSet)
|
router.register(r'posts', PostViewSet)
|
||||||
@@ -29,7 +30,7 @@ router.register(r'members', MemberViewSet)
|
|||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
path('posts/', include('posts.urls')),
|
path('posts/', include('posts.urls')),
|
||||||
path('admin/doc/', include('django.contrib.admindocs.urls')),
|
path('admin/doc/', include('django.contrib.admindocs.urls')),
|
||||||
path('admin/', admin.site.urls),
|
path('admin/', authenticated_user(admin.site.urls)),
|
||||||
path('auth/', include('authentications.urls')),
|
path('auth/', include('authentications.urls')),
|
||||||
path('', views.index, name='home'),
|
path('', views.index, name='home'),
|
||||||
path('index.html', views.index, name='home'),
|
path('index.html', views.index, name='home'),
|
||||||
|
|||||||
@@ -6,9 +6,9 @@
|
|||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<meta http-equiv="x-ua-compatible" content="ie=edge">
|
<meta http-equiv="x-ua-compatible" content="ie=edge">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<title>FET DjangoLayout</title>
|
<title>FET</title>
|
||||||
<link rel="stylesheet" href="{% static 'app.css' %}">
|
<link rel="stylesheet" href="{% static 'app.css' %}">
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
{% block header %}
|
{% block header %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
</head>
|
</head>
|
||||||
@@ -20,11 +20,16 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="top-bar-right">
|
<div class="top-bar-right">
|
||||||
<ul class="menu vertical medium-horizontal expanded medium-text-center">
|
<ul class="menu vertical medium-horizontal expanded medium-text-center">
|
||||||
|
{% if request.user.is_authenticated %}
|
||||||
<li class=""><a href="{%url 'home'%}">Aktuelles</a> </li>
|
Hallo {{request.user.username}}
|
||||||
<li class=""><a href="/fotos">Fotos</a> </li>
|
<li class=""><a href="/admin">Admin</a></li>
|
||||||
<li class=""><a href="{%url 'members'%}">Mitarbeiter</a>
|
<li class=""><a href="{%url 'logout'%}">Logout</a> </li>
|
||||||
</li>
|
{% else %}
|
||||||
|
<li class=""><a href="{%url 'login'%}">Login</a> </li>
|
||||||
|
{% endif %}
|
||||||
|
<li class=""><a href="{%url 'home'%}">Aktuelles</a> </li>
|
||||||
|
<li class=""><a href="/fotos">Fotos</a> </li>
|
||||||
|
<li class=""><a href="{%url 'members'%}">Mitarbeiter</a> </li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -36,7 +41,6 @@
|
|||||||
<div class="grid-x medium-padding-1 large-padding-left-2" style="">
|
<div class="grid-x medium-padding-1 large-padding-left-2" style="">
|
||||||
<div class="cell">
|
<div class="cell">
|
||||||
<ul class="no-bullet">
|
<ul class="no-bullet">
|
||||||
<li><a href="/admin">admin</a></li>
|
|
||||||
<li><a href="{% url 'posts.show' 'impressum'%}">Impressum</a></li>
|
<li><a href="{% url 'posts.show' 'impressum'%}">Impressum</a></li>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user