Esempio n. 1
0
 def setUp(self):
     app = Flask(__name__)
     auth = Auth(app)
     self.app = app
     auth.hash_algorithm = self.HASH_ALGORITHM
     user = AuthUser(username='******')
     self.user = user
Esempio n. 2
0
    def setUp(self):
        app = Flask(__name__)
        app.secret_key = 'N4buDSXfaHx2oO8g'
        self.app = app
        auth = Auth(app)

        @login_required
        def needs_login():
            return 'needs_login'

        app.add_url_rule('/needs_login/', 'needs_login', needs_login)

        @permission_required(resource='post', action='view')
        def post_view():
            return 'needs_post_view'

        app.add_url_rule('/post_view/', 'post_view', post_view)

        @app.route('/login_view/')
        def login_view():
            return 'login_view'

        user = AuthUser(username='******')
        user.role = 'testuser'
        testuser_role = Role('testuser', [Permission('post', 'view')])
        auth.load_role = lambda _: testuser_role
        self.user = user
Esempio n. 3
0
 def setUp(self):
     app = Flask(__name__)
     app.secret_key = 'N4buDSXfaHx2oO8g'
     auth = Auth(app)
     auth.hash_algorithm = hashlib.sha1
     user = AuthUser(username='******')
     with app.test_request_context():
         user.set_and_encrypt_password(self.PASSWORD)
     self.app = app
     self.user = user
Esempio n. 4
0
    def setUp(self):
        app = Flask(__name__)
        auth = Auth(app)
        self.app = app

        def load_role(role_name):
            return self.ROLES.get(role_name)

        auth.load_role = load_role
        user = AuthUser(username='******')
        user.role = 'testuser'
        self.user = user
from flask import Flask, request, g, redirect, url_for
app = Flask(__name__)

from flaskext.auth import Auth, AuthUser, login_required, logout
auth = Auth(app, login_url_name='index')


@app.before_request
def init_users():
    """
    Initializing users by hardcoding password. Another use case is to read
    usernames from an external file (like /etc/passwd).
    """
    admin = AuthUser(username='******')
    # Setting and encrypting the hardcoded password.
    admin.set_and_encrypt_password('password', salt='123')
    # Persisting users for this request.
    g.users = {'admin': admin}


@login_required()
def admin():
    return 'Admin! Excellent!'


def index():
    if request.method == 'POST':
        username = request.form['username']
        if username in g.users:
            # Authenticate and log in!
            if g.users[username].authenticate(request.form['password']):
Esempio n. 6
0
    if os.path.isfile(configfile):
        unsanitizedConfig = configobj.ConfigObj(configfile)
    else:
        sys.exit("Config file {} does not exist.".format(configfile))

    config = json.loads(security.sanitizeString(json.dumps(unsanitizedConfig)),
                        object_pairs_hook=OrderedDict)
    watchfiles = [configfile]
    config = appendDefaultPages(config)
    api.setConfig(config, unsanitizedConfig)
    api.init()
    validateConfigFormat(config)
    domoticz.checkDomoticzStatus(config)
    server_location = config["general_settings"]["server"]["url"]
    flask_server_location = config["general_settings"]["server"]["flask_url"]
    auth = Auth(app, login_url_name='login_form')
    auth.user_timeout = 0

    app.secret_key = config["general_settings"]["server"]["secret_key"]
    app.add_url_rule('/', 'index', index)
    for k, v in config["navbar"]["menu"].iteritems():
        v = strToList(v)
        app.add_url_rule('/' + v[0].lower(),
                         v[0].lower(),
                         generatePage,
                         methods=['GET'])
    app.add_url_rule('/settings', 'settings', generatePage, methods=['GET'])
    app.add_url_rule('/log', 'log', generatePage, methods=['GET'])
    app.add_url_rule('/logout/', 'logout', logout_view, methods=['GET'])
    app.add_url_rule('/api', 'api', api.gateway, methods=['POST'])
    try:
Esempio n. 7
0
app = Flask(__name__)
app.config.from_pyfile('app.cfg')

# Instantiate DB
db = SQLAlchemy(app)


## Set SQL Alchemy to automatically tear down
@app.teardown_request
def shutdown_session(exception=None):
    db_session.remove()


# Instantiate authentication
auth = Auth(app, login_url_name='login')
User = get_user_class(db.Model)


def index():
    return render_template('index.html')


##login methods


def login():
    if request.method == 'POST':
        username = request.form['username']
        user = User.query.filter(User.username == username).first()
        if user is not None:
Esempio n. 8
0
# stolen from SO
# https://stackoverflow.com/a/16957370


def decimal_default(obj):
    if isinstance(obj, decimal.Decimal):
        return float(obj)
    raise TypeError


login_url_name = 'user_login'

# App Settings
settings = toml.load("settings.toml")
app = Flask(__name__)
auth = Auth(app, login_url_name)
app.secret_key = settings['secret_key']
app.app_state = {
    "authentication_required": True,
}


# this fixes an error in flaskext.auth where it doesn't handle args for redirects.
def _redirect_to_login(*args, **kwargs):
    return redirect(url_for(login_url_name))


auth.not_logged_in_callback = _redirect_to_login

# User Setup
Esempio n. 9
0
from flask import Flask, jsonify, render_template, redirect, request, url_for, g
from dblayer import DBlayer
from flaskext.auth import Auth, AuthUser, login_required, logout, get_current_user_data

db = DBlayer()
app = Flask(__name__, static_folder='web/static', static_url_path='')
app.template_folder = "web"
auth = Auth(app)
app.secret_key = 'N4BUdSXUzHxNoO8g'


@app.before_request
def init_users():
    admin = AuthUser(username='******')
    admin.set_and_encrypt_password('password')
    g.users = {'admin': admin}


@app.route("/")
def feed():
    user = get_current_user_data()
    print user
    return render_template('feed.html', user=user)


@app.route("/login", methods=['GET', 'POST'])
def login():
    if request.method == 'POST':
        username = request.form['username']
        if username in g.users:
            # Authenticate and log in!