Ejemplo n.º 1
0
def postLogin():
    user = get_user(request.form['username'])

    if not user or not check_password_hash(user['password'], request.form['password']):
        flash('Invalid username or password', 'error')
        return redirect(url_for('login'))

    flash('You were logged in', 'success')
    session['username'] = user['username']
    return redirect(url_for('admin'))
Ejemplo n.º 2
0
def login():
    if request.method == 'POST':
        email = request.form["emailAddress"]
        password = request.form["password"]
        user = db_helper.get_user(email)
        if user is None or not user.check_password(password=password):
            flash('Invalid username or password')
            return redirect(url_for('login'))
        login_user(user)
        return redirect(url_for('index'))

    return render_template('login.html', title='Sign In')
Ejemplo n.º 3
0
def triggerAuth():
    try:
        global fridge_port_number
        url = 'http://127.0.0.1:' + str(fridge_port_number)
        headers = {'Content-type': 'text/html; charset=UTF-8'}
        # See if it would be possible to redirect to a processing page during this time
        response = requests.post(url, data="login", headers=headers)
        response_dict = json.loads(response.text)
        encoding = response_dict["encoding"]
        knownEncodings = get_user_encodings()
        authorisedUser = checkForMatch(encoding, knownEncodings)
        if authorisedUser is None:
            return index(authorisedUser=None)

        # get the name and the file path of the user's photo
        authorisedUser = get_user(authorisedUser)
        # log the access
        access_id = unlock_door(authorisedUser[0][2])
        return index(authorisedUser=authorisedUser[0][0], authorisedUserId=authorisedUser[0][2], photo=authorisedUser[0][1], access_id=access_id)
    
    except Exception as error:
        # access_id = unlock_door("13")
        # return index(authorisedUser="******", authorisedUserId="13", photo="IMG_1909.jpg", access_id=access_id) # Used for testing without face_recognition
        return index(authorisedUser=None)
Ejemplo n.º 4
0
def register():
    if request.method == 'POST':
        # Realizamos una solicitud a la base de datos para ver si existe un usuario con ese nombre
        lista = database.get_user(request.form['Username'])

        # Comprobamos si el usuario existe
        if len(lista) == 1:
            err_text = "El usuario " + request.form[
                'Username'] + " ya existe. Elija otro nombre de usuario"
            context_dict = {'text': err_text}
            return render_template('register.html', err=context_dict)

        else:
            # Creamos un diccionario con los datos del usuario, y se lo mandamos a la funcion create_user para que lo meta en la base de datos
            dict = request.form.copy()
            # El saldo ahora es el income de los usuarios (el dinero que tienen)
            # por ello, su income inicial lo calculamos como un numero mas grande
            dict['saldo'] = random.randint(1, 60000)
            database.create_user(dict)
            return redirect(url_for('login',
                                    username=request.form['Username']))

    else:
        return render_template('register.html')
Ejemplo n.º 5
0
def load_current_user():
    g.user = get_user(session['username']) if 'username' in session else None
Ejemplo n.º 6
0
def load_current_user():
    g.user = get_user(session['username']) if 'username' in session else None
Ejemplo n.º 7
0
def login():
    # doc sobre request object en http://flask.pocoo.org/docs/1.0/api/#incoming-request-data

    # Si nos llaman con metodo get, significa que se acaba de registrar
    if request.args.get("username"):
        # Vaciamos la url de la sesion, para volver al index cuando iniciamos sesion
        session.pop('url_origen', None)
        session.modified = True

        # Le dejamos en la página de inicio de sesión para que acceda
        login_text = "Ahora puedes iniciar sesion con tu usuario " + request.args.get(
            "username")
        context_dict = {'text': login_text}
        return render_template('login.html',
                               title="Sign In",
                               message=context_dict)

    # Si acaban de pulsar el boton de iniciar sesion
    if request.method == 'POST':

        #Realizamos una solicitud a la base de datos
        lista = database.get_user(request.form['Username'])

        # Comprobamos si el usuario existe
        if len(lista) == 0:
            err_text = "No existe el usuario " + request.form['Username']
            context_dict = {'text': err_text}

            return render_template('login.html',
                                   title="Sign In",
                                   message=context_dict)

        else:
            #Sacamos la contraseña del usuario y su saldo, y comparamos con la introducida en el formulario
            password = lista[0].password
            saldo = lista[0].income

            if password == request.form['Password']:
                session['usuario'] = request.form['Username']
                session['saldo'] = saldo
                session.modified = True

                if 'url_origen' in session.keys():
                    # Si estas en login por voluntad propia, al iniciar sesion te devuelve al index
                    if session[
                            'url_origen'] is not "http://0.0.0.0:5001/login":
                        resp = make_response(redirect(session['url_origen']))
                        resp.set_cookie('username', request.form['Username'])
                        return resp

                resp = make_response(redirect(url_for('index')))
                resp.set_cookie('username', request.form['Username'])
                return resp

            else:
                err_text = "Contraseña incorrecta para el usuario " + request.form[
                    'Username']
                context_dict = {'text': err_text}
                return render_template('login.html',
                                       title="Sign In",
                                       message=context_dict)
    else:
        session['url_origen'] = request.referrer
        session.modified = True

    return render_template('login.html', title="Sign In")
Ejemplo n.º 8
0
def user(user_id):
    user = db.get_user(user_id)
    return jsonify(user_to_dict(user))