示例#1
0
def login():
    # Here we use a class of some kind to represent and validate our
    # client-side form data. For example, WTForms is a library that will
    # handle this for us, and we use a custom LoginForm to validate.
    form_in = LoginForm(request.form)
    print form_in.data
    username = form_in.data.get('username')
    password = form_in.data.get('password')
    print form_in.validate()
    if form_in.validate():
        # Login and validate the user.
        # user should be an instance of your `User` class
        user = get_user(username)
        pass_ok = False
        if (user == None):
            user = db.create_user(username, password)
            pass_ok = True
        else:
            pass_ok = db.check_user_password(username, password)

        if (pass_ok):
            login_user(user)
            next_url = flask.request.args.get('next')
            # next_is_valid should check if the user has valid
            # permission to access the `next` url
            if not next_is_valid(next_url):
                return flask.abort(400)

            return flask.redirect(next_url or flask.url_for('index'))
    return flask.render_template('login_screen.html', form=form)
示例#2
0
文件: User.py 项目: claritylab/lucida
def login_route():
	# Retrieve the registration form.
	form = LoginForm(request.form)
	options = {
		'error': []
	}
	# Deal with POST requests.
	if request.method == "POST":
		if form.validate():
			if not database.username_exists(form.username.data):
				options['error'] = ['Username does not exist']
				# Display.
				return render_template("login.html", form=form, **options)
			# Check if the password is correct.
			password_is_correct = database.check_password(form.username.data, 
				form.password.data)
			if not password_is_correct:
				options['error'] = \
					['Password is incorrect for the specified username']
				# Display.
				return render_template("login.html", form=form, **options)
			# Update session.
			session['logged_in'] = True
			session['username'] = form.username.data
			# Get the url argument.
			url = request.args.get('url')
			if not url is None: # requested a private page and passed the check
				return redirect(url)
			# Display.
			return redirect(url_for('main.main_route'))
	# Display.
	return render_template("login.html", form=form, **options)
示例#3
0
 def _newForm(self):
     from LoginForm import LoginForm
     form = LoginForm()
     p = form.properties()
     p.project = "test"
     p.mailto = "*****@*****.**"
     return form
示例#4
0
文件: User.py 项目: tjt7a/etutor
def login_route():
    # Retrieve the registration form.
    form = LoginForm(request.form)
    options = {'error': []}
    # Deal with POST requests.
    if request.method == "POST":
        if form.validate():
            if not database.username_exists(form.username.data):
                options['error'] = ['Username does not exist']
                # Display.
                return render_template("login.html", form=form, **options)
            # Check if the password is correct.
            password_is_correct = database.check_password(
                form.username.data, form.password.data)
            if not password_is_correct:
                options['error'] = \
                 ['Password is incorrect for the specified username']
                # Display.
                return render_template("login.html", form=form, **options)
            # Update session.
            session['logged_in'] = True
            session['username'] = form.username.data
            # Get the url argument.
            url = request.args.get('url')
            if not url is None:  # requested a private page and passed the check
                return redirect(url)
            # Display.
            return redirect(url_for('main.main_route'))
    # Display.
    return render_template("login.html", form=form, **options)
示例#5
0
def login():
	myForm = LoginForm(request.form)
	if request.method=='POST':
		if myForm.username.data=="jikexueyuan" and myForm.password.data=="123456" and myForm.validate():
			return redirect("http://www.jikexueyuan.com")
		else:
			message="Login Failed"
			return render_template('indexx.html',message=message,form=myForm)
	return render_template('indexx.html',form=myForm)
示例#6
0
def login():
    login_form=LoginForm(request.form)
    if login_form.validate_on_submit():
        hashpass=bcrypt.hashpw(request.form['login_password'].encode('utf-8'), bcrypt.gensalt())
        user=users.find({'email':request.form['login_email'], 'password':hashpass})   
        if user:
            session['email']=request.form['login_email']
            return redirect(url_for('form'))
        else:
            return redirect(url_for('login'))
    return render_template('login.html', login_form=login_form)
示例#7
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        user_name = form.username.data
        password = form.password.data
        user_model = UsersModel(db.get_connection())
        exists = user_model.exists(user_name, password)
        if (exists[0]):
            session['username'] = user_name
            session['user_id'] = exists[1]
        return redirect("/index")
    return render_template('login.html', title='Авторизация', form=form)
示例#8
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        session = db_session.create_session()
        user = session.query(User).filter(
            User.email == form.email.data).first()
        if user and user.check_password(form.password.data):
            login_user(user, remember=form.remember_me.data)
            return redirect("/")
        return render_template('login.html',
                               message="Неправильный логин или пароль",
                               form=form)
    return render_template('login.html', title='Авторизация', form=form)
def login():
    if current_user is not None and current_user.is_authenticated():
        return redirect(url_for('chatChannels'))

    form = LoginForm()
    if form.validate_on_submit():
        validUser = UserManager.validateUser(session, User(form.username.data, form.password.data))
        if (validUser != None):
            login_user(validUser)
            return redirect(request.args.get("next") or url_for("chatChannels"))
        else:
            flash('Incorrect username or password')
    return render_template("login.html", form=form)
示例#10
0
def test_selenium():
    driver = create_driver()

    driver.get('https://app.crossbrowsertesting.com/login')
    login_form = LoginForm(driver)
    login_form.login()

    driver.get('https://app.crossbrowsertesting.com/selenium/run')

    wait = WebDriverWait(driver, 5)
    desktop_os = wait.until(
        EC.presence_of_element_located((By.ID, 'desktop-os')))

    time.sleep(5)
    driver.quit()
示例#11
0
def login():
    form = LoginForm()

    if flask.request.method == 'POST':
        with connection.cursor(buffered=True) as cursor:
            try:
                results = cursor.execute(
                    "SELECT * FROM account WHERE email='%s'" %
                    flask.request.values['email'],
                    multi=True)
                response = []
                for cur in results:
                    if cur.with_rows:
                        response.append(str(cur.fetchall()))

                return Response(status=200, response=response)
            except Exception as e:
                return Response(status=500, response=e.msg)

    if flask.request.method == 'GET':
        return render_template('login.jinja2',
                               form=form,
                               title='Log in.',
                               template='login-page',
                               body="Log in with your User account.")
示例#12
0
def test_live():
    driver = create_driver()

    driver.get('https://app.crossbrowsertesting.com/login')
    login_form = LoginForm(driver)
    login_form.login()

    # this might make more sense in a LiveTest class
    wait = WebDriverWait(driver, 5)
    url_bar = wait.until(
        EC.presence_of_element_located(
            (By.CSS_SELECTOR, 'input[data-se-id="liveTestUrl"]')))

    driver.find_element(By.NAME,
                        'address').send_keys("https://crossbrowsertesting.com")

    time.sleep(5)
    driver.quit()
示例#13
0
def autenticar_usuario():
    formulario = LoginForm()
    if formulario.validate_on_submit():

        user = formulario.username.data
        senha = formulario.password.data

        u = Usuario.query.filter_by(username=user).first()

        if u is not None:
            if u.check_password(senha):

                session['username'] = user
                session['autenticado'] = True

                return redirect(url_for('mostrar_painel'))

    return render_template('login.html', titulo="Autenticar", form=formulario)
示例#14
0
def login_action():
    """
    Home page when the user is logged out, or for visitors
    """
    form = LoginForm(request.form)
    if request.method == 'POST' and form.validate():
        user = check_login(service, form.username.data, form.password.data)
        if user is not None:
            login_user(service, user)
            return redirect(url_for('index_action'))
        else:
            flash(_('Invalid credentials'), category='warning')

    # Ensure that coordinates are present
    repairs = filter(lambda x: x['GPS_coordinate_latitude'] is not None and x['GPS_coordinate_longitude'],
                     service.getAllRepairments())

    return render_template('login.html', form=form, languages=languages, lang=get_locale(), repairs=repairs)
示例#15
0
 def post(self):
     if current_user.is_authenticated():
         return redirect(request.args.get('next') or '/')
     form = LoginForm()
     if form.validate_on_submit():
         user = User.query.filter_by(username=form.username.data).first()
         if user is not None and user.valid_password(form.password.data):
             if login_user(user, remember=form.remember_me.data):
                 # Enable session expiration only if user hasn't chosen to be
                 # remembered.
                 session.permanent = not form.remember_me.data
                 flash('Logged in successfully!', 'success')
                 session['remember_me'] = form.remember_me.data
                 return redirect(request.args.get('next') or '/')
             else:
                 flash('This username is disabled!', 'error')
         else:
             flash('Wrong username or password!', 'error')
     return render_template('auth/login.html', title='Sign In', form=form)
示例#16
0
class GUI_Manager():

    # open and create userdb and foodlogdb (databases)
    # and users and Food_Entries tables
    def __init__(self):
        # asks user for the root account password in terminal for mysql server
        self.__password = input('root account password: ')
        self.user_database = userDatabase(self.__password)
        self.user_database.close()
        self.food_database = foodDatabase(self.__password)
        self.food_database.close()

    def open_login(self):
        self.login = LoginForm(self.__password)
        self.login.switch_window.connect(self.open_main)
        self.login.show()

    def open_main(self, user):
        self.main = MainWindow(user, self.__password)
        self.login.close()
        self.main.show()
示例#17
0
 def post(self):
     if current_user.is_authenticated():
         return redirect(request.args.get('next') or '/')
     form = LoginForm()
     if form.validate_on_submit():
         user = User.query.filter_by(username=form.username.data).first()
         if user is not None and user.valid_password(form.password.data):
             if login_user(user, remember=form.remember_me.data):
                 # Enable session expiration only if user hasn't chosen to be
                 # remembered.
                 session.permanent = not form.remember_me.data
                 flash('Logged in successfully!', 'success')
                 session['remember_me'] = form.remember_me.data
                 return redirect(request.args.get('next') or '/')
             else:
                 flash('This username is disabled!', 'error')
         else:
             flash('Wrong username or password!', 'error')
     return render_template('auth/login.html',
         title = 'Sign In',
         form = form)
示例#18
0
def login():
    form = LoginForm(request.form)
    if request.method == 'POST':
        username = request.form['username']
        password = request.form['password']
        user = User.get_by_username(username)
        if user and user.password == password:
            login_user(user)
        else:
            return Response('Usuario o password incorrectos.')
        return redirect(url_for('home'))
    else:
        return render_template('login.html', form=form)
示例#19
0
def login():
    form = LoginForm(request.form)
    error_msg = ""
    if request.method == 'POST':
        sso_url = url_for('sso_login', _external=True)
        #print(sso_url)
        #windows_auth_url = 'https://iamws-i.intel.com/api/v1/windows/auth'
        redirect_url = SSO_AUTH_URL + '?redirecturl=' + sso_url
        print(redirect_url)
        return redirect(redirect_url)
    return render_template('login.html',
                           title='login',
                           form=form,
                           error_msg=error_msg)
示例#20
0
 def get(self):
     if current_user.is_authenticated():
         return redirect(request.args.get('next') or '/')
     form = LoginForm()
     return render_template('auth/login.html', title='Sign In', form=form)
示例#21
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        return redirect('/success')
    return render_template('login.html', title='Авторизация', form=form)
示例#22
0
def main():
    app = QApplication(sys.argv)
    form = LoginForm()
    if os.path.exists(settings.CREDENTIALS_FILE_PATH):
        ACTIVATION_KEY = pickle.load(open(settings.CREDENTIALS_FILE_PATH,
                                          'rb'))
        try:
            with urllib.request.urlopen('%s/auth' % settings.HOST,
                                        ACTIVATION_KEY) as r:
                success = json.loads(r.read().decode('utf-8'))
                form = MainForm()
                form.setTrialStatus('Activated - %s ' % success['email'])
        except urllib.error.HTTPError:
            settings.error_msg("Error: Invalid credentials")
    else:
        try:
            trial_data = bytes(
                urllib.parse.urlencode({
                    'uid': uuid.uuid1()
                }).encode())
            with urllib.request.urlopen('%s/check_trial' % settings.HOST,
                                        trial_data) as r:
                success = json.loads(r.read().decode('utf-8'))
                ended_at = datetime.datetime.strptime(success['ended_at'],
                                                      "%Y-%m-%dT%H:%M:%S.%f")
                days = ended_at - datetime.datetime.now()
                if days.days:
                    form.setTrialPeriod(days.days)
                else:
                    return settings.error_msg('trial end (')
        except urllib.error.HTTPError and urllib.error.URLError:
            print('error')
            settings.error_msg('cannot connect to server! %s minutes trial!' %
                               settings.OFFLINE_TRIAL_MINUTES_LIMIT)
            form = MainForm()
            form.setOfflineTrial()
            form.setTrialStatus('%s minutes trial' %
                                settings.OFFLINE_TRIAL_MINUTES_LIMIT)
    form.show()
    sys.exit(app.exec_())
示例#23
0
def sso_login():
    try:
        user_token = request.args.get('token')
    except:
        return redirect(url_for("login"))

    if user_token == None:
        print("Error: user_token is expected for login")
        return redirect(url_for("login"))

    try:
        authentication_result = _get_access_token('Token_WindowsAuth')
        authentication_access_token = authentication_result.access_token
        user_data = _get_user_data(authentication_access_token, user_token)
    except:
        logging.error("Unable to get USER DATA")
        return redirect(url_for("login"))

    try:
        membership_result = _get_access_token(
            'Token_WindowsAuth User_Read Authorization')
        membership_access_token = membership_result.access_token
        print("Membership acces token:", membership_access_token)
        user_membership = _get_user_membership(membership_access_token,
                                               user_data)
    except:
        logging.error("Unable to get USER MEMBERSHIP")
        return redirect(url_for("login"))

    print("USER MEMBERSHIPS:", user_membership)
    if GRP_SSDV not in user_membership:
        error_msg = "Please Apply for group 'ssdv' in AGS!"
        form = LoginForm()
        return render_template('login.html',
                               title='login',
                               form=form,
                               error_msg=error_msg)

    session['userInfo'] = {
        'userName': user_data['userName'],
        'displayName': user_data['displayName'],
        'id': user_data['id'],
        'externalId': user_data['externalId'],
        'email': user_data["emails"][0]["value"]
    }
    logging.info(session['userInfo'])

    if session['userInfo']['userName']:
        user_info = session['userInfo']['userName'].split("\\")
        region = user_info[0]
        username = user_info[1]

        # section to add user to database is deleted
        # TODO: looks like some DB will be needed to return user information to Flask login/logout plugins

        user_obj = User(username)
        login_user(user_obj)  # Flask function
        flash("Logged in successfully!", category='success')
        print("Logged in successfully!")
        return redirect(url_for("home"))
    else:
        error_msg = "Cannot get valid username info from Authorization server!"
        form = LoginForm()
        return render_template('login.html',
                               title='login',
                               form=form,
                               error_msg=error_msg)
示例#24
0
from LoginForm import LoginForm
from User import User
from database import Database

app = Flask(__name__)

app.config['COUCHDB_SERVER'] = "http://*****:*****@app.route('/', methods=['GET', 'POST'])
@login_required
def index():
    print request.form
    if request.method == 'GET':
        return render_template('app_screen.html')
    else:  # post
        task = hash(request.form['taskName'])
        energy = int(request.form['energy'])
        curr_time = int(time.strftime('%H')) + float(time.strftime('%M')) / 60
        weekday = int(time.strftime('%w'))
示例#25
0
import socket
from flask import Flask, g
import json

from LoginForm import LoginForm

app = Flask(__name__)
with app.app_context():
    sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    g.socket = sock
    sock.bind(('', 0))
    g.port = sock.getsockname()[1]
    with open('data/key.json') as fp:
        auth_key = json.load(fp)['key']
    g.auth_key = auth_key
    print(auth_key)
    LoginForm()
    request = {'action': 'logout', 'token': getattr(g, 'token', None)}
    sock.sendto(bytearray(str(request), 'utf-8'), ('', 7777))
    sock.close()
示例#26
0
 def test_update_login_status(self):
     loginForm = LoginForm()
     result = loginForm.update_login_status()
     self.assertEqual(result, 'login_status_clicked')
示例#27
0
 def render_landing(self):
     form = LoginForm()
     return render_template('login.html', form=form)
示例#28
0
 def open_login(self):
     self.login = LoginForm(self.__password)
     self.login.switch_window.connect(self.open_main)
     self.login.show()
示例#29
0
 def render_admin_login(self):
     form = LoginForm()
     return render_template('admin_login.html', form=form)
示例#30
0
def login():
    form = LoginForm()
    err = None
    if form.validate_on_submit():
        name = request.form['username']
        pso = request.form['password_one']
        pst = request.form['password_two']
        data = datetime.date.today()

        check = [False, False]

        # Проверка логина и пароля
        if UserModel(db.get_connection()).exists(name)[0]:
            err = 'Такой логин уже существует'
            return render_template('login.html',
                                   title='Регистрация',
                                   form=form,
                                   err=err)

        if len(name) > 5:
            for letter in name:
                if letter.isalpha():
                    check[0] = True
                    if letter not in string.ascii_letters:
                        err = 'Логин должен содержать латинские буквы и цифры'
                        return render_template('login.html',
                                               title='Регистрация',
                                               form=form,
                                               err=err)
                if letter.isdigit():
                    check[1] = True
        else:
            err = 'Логин должен быть длиннее 5 символов'
            return render_template('login.html',
                                   title='Регистрация',
                                   form=form,
                                   err=err)

        if check[0] is False or check[1] is False:
            err = 'Логин должен содержать латинские буквы и цифры'
            return render_template('login.html',
                                   title='Регистрация',
                                   form=form,
                                   err=err)

        if pso != pst:
            err = 'Пароли не одинаковы'
            return render_template('login.html',
                                   title='Регистрация',
                                   form=form,
                                   err=err)
        else:
            if len(pso) > 5:
                # Создание пользователя
                user = UserModel(db.get_connection())

                hash, salt = password_salt(pso)

                user.insert(name, hash, salt, data,
                            'Cреднестатистический обыватель', 'default.png')

                session['username'] = name
                session['photo'] = 'default.png'

                if user.exists(name)[0]:
                    session['id'] = user.exists(name)[1]

                return redirect('/success_login')
            else:
                err = 'Пароль должен быть длиннее 5 символов'
                return render_template('login.html',
                                       title='Регистрация',
                                       form=form,
                                       err=err)

    return render_template('login.html',
                           title='Регистрация',
                           form=form,
                           err=err)
示例#31
0
 def test_guest_login_btn_clickk(self):
     loginForm = LoginForm()
     result = loginForm.guest_login_btn_click()
     self.assertEqual(result, 'guest_login_clicked')