Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
Jannik Hellenkamp
website
Commits
c8209fbc
Commit
c8209fbc
authored
Aug 26, 2016
by
Julian Rother
Browse files
Extended login and added login_required decorator
parent
56e1dfcb
Changes
2
Hide whitespace changes
Inline
Side-by-side
server.py
View file @
c8209fbc
#!/bin/python
from
flask
import
*
from
functools
import
wraps
import
sqlite3
import
os
import
re
...
...
@@ -109,6 +110,16 @@ def ldapget(user):
else
:
return
notldap
[
user
][
2
]
def
login_required
(
func
):
@
wraps
(
func
)
def
decorator
(
*
args
,
**
kwargs
):
if
not
'user'
in
session
:
flash
(
'Diese Funktion ist nur für Moderatoren verfügbar!'
)
return
redirect
(
url_for
(
'login'
,
ref
=
request
.
url
))
else
:
return
func
(
*
args
,
**
kwargs
)
return
decorator
@
app
.
route
(
'/'
)
def
index
():
return
render_template
(
'index.html'
,
latestvideos
=
query
(
'''
...
...
@@ -172,8 +183,10 @@ def course():
else
:
return
redirect
(
url_for
(
'index'
))
@
app
.
route
(
'/login'
,
methods
=
[
'POST'
])
@
app
.
route
(
'/login'
,
methods
=
[
'GET'
,
'POST'
])
def
login
():
if
request
.
method
==
'GET'
:
return
render_template
(
'login.html'
)
user
,
groups
=
ldapauth
(
request
.
form
.
get
(
'user'
),
request
.
form
.
get
(
'password'
))
if
user
and
'users'
in
groups
:
session
[
'user'
]
=
ldapget
(
user
)
...
...
templates/login.html
0 → 100644
View file @
c8209fbc
{% extends "base.html" %}
{% block content %}
<div
class=
"row"
>
<div
class=
"col-xs-offset-1 col-xs-10"
>
<div
class=
"panel panel-default"
>
<div
class=
"panel-heading"
>
<h1
class=
"panel-title"
>
Login für Moderatoren
</h1>
</div>
<div
class=
"panel-body"
>
<form
method=
"post"
action=
"login"
>
<input
placeholder=
"User"
name=
"user"
type=
"text"
><br>
<input
placeholder=
"Password"
name=
"password"
type=
"password"
><br>
{% if 'ref' in request.values %}
<input
type=
"hidden"
name=
"ref"
value=
"{{ request.values.ref|e }}"
>
{% endif %}
<input
type=
"submit"
value=
"Login"
>
</form>
</div>
</div>
</div>
</div>
{% endblock %}
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment