Esempio n. 1
0
from datetime import datetime
from subprocess import check_output
import json
import threading
import os
import re

from flask_httpauth import HTTPDigestAuth
from functools import wraps
import domains.support.models as modLib
from flask import session, request, flash, redirect, url_for, Response

auth = HTTPDigestAuth(realm="ARMORE", use_ha1_pw=True)

defaultCreds = { "armore": auth.generate_ha1("armore", "armore") }

@auth.error_handler
def secureError():
    return Response('<script> window.location.replace("/welcome")</script>',  401, {'WWWAuthenticate':'Digest realm="Login Required"'})

def notAuthorized():
    flash("Not Authorized to View This Page")
    if not request.referrer:
        return redirect(url_for('.welcome'))
    return redirect(request.referrer)

# Decorator for determining if user is authenticated and authorized to view resource
# If 'roles' is a string, resource requires AT LEAST the specified level of authorization
# if 'roles' is an array of strings, resource requires ANY of the specified levels of authorization
def secure(roles):
Esempio n. 2
0
from flask_httpauth import HTTPDigestAuth
from functools import wraps
import models as modLib
from flask import session, request, flash, redirect, url_for, Response

auth = HTTPDigestAuth(realm="ARMORE", use_ha1_pw=True)

defaultCreds = { "armore": auth.generate_ha1("armore", "armore") }

@auth.error_handler
def secureError():
    return Response('<script> window.location.replace("/welcome")</script>',  401, {'WWWAuthenticate':'Digest realm="Login Required"'})

def notAuthorized():
    flash("Not Authorized to View This Page")
    if not request.referrer:
        return redirect(url_for('welcome'))
    return redirect(request.referrer)

def secure(roles):
    def wrapper(f):
        @wraps(f)
        @auth.login_required
        def wrapped(*args, **kwargs):
            if modLib.isInitialSetup():
                return redirect("/admin/initialUserSetup")
            if 'username' not in session:
                session['username'] = auth.username()
                session['role'] = modLib.getRole(session['username'])
            if type(roles) is list:
                if session['role'] not in roles: