Ejemplo n.º 1
0
 def get_user_info(self, username):
     try:
         conn = Client(current_app.config['IPA_HOST'])
         conn.login_kerberos()
         #query = ClientMeta(current_app.config['IPA_HOST'])
         info = conn.user_show(username)
         return info
     except freeipa.exceptions as e:
         raise IPAException(self.error(e.args))
Ejemplo n.º 2
0
def login():
    form = LoginForm(request.form)
    if request.method == "POST" and form.validate():
        client = Client("ipa.freeside.co.uk", verify_ssl=False, version="2.215")
        try:
            uid = form.username.data
            client.login(uid, form.password.data)
            data = client.user_show(uid)
            login_user(UserSession(uid, data))
            flash("Logged in!")
            return redirect("/")
        except exceptions.Unauthorized:
            flash("Invalid username or password")
        except exceptions.NotFound:
            flash("User not in database.")
    return render_template("login.html", form=form)