diff --git a/icalexport.py b/icalexport.py index 8ab175842f0ccc80c3464213a34ff817aeb88027..2f5c3ad9a799b36a0c27c28ef148ae7de39e46c2 100644 --- a/icalexport.py +++ b/icalexport.py @@ -35,11 +35,14 @@ def calperm(func): for net in config['FSMPI_IP_RANGES']: if ip in ip_network(net): permission = True + if request.authorization: + userinfo, groups = ldapauth(request.authorization.username, request.authorization.password) + if check_mod(userinfo.get('uid'), groups): + permission = True if permission: return func(*args, **kwargs) else: - flash('Diese Funktion ist nur aus dem FSMPI-Netz(für SOGO-Import) oder eingeloggt verfügbar!') - return redirect(url_for('index')) + return Response("Login required", 401, {'WWW-Authenticate': 'Basic realm="FS-Login required"'}) return decorator @app.route('/internal/ical/all')