[ 
https://issues.apache.org/jira/browse/AIRFLOW-1021?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16238542#comment-16238542
 ] 

Alan Ma commented on AIRFLOW-1021:
----------------------------------

Submitted a PR in your place. 
https://github.com/apache/incubator-airflow/pull/2751

> Double logging required for new users with LDAP
> -----------------------------------------------
>
>                 Key: AIRFLOW-1021
>                 URL: https://issues.apache.org/jira/browse/AIRFLOW-1021
>             Project: Apache Airflow
>          Issue Type: Bug
>          Components: contrib
>    Affects Versions: Airflow 1.8
>            Reporter: Marcelo G. Almiron
>            Assignee: Alan Ma
>            Priority: Major
>
> Every user needs to login twice to access Airflow for the first time with 
> LDAP. 
> In the first trial the user is not persistent, so there is no `id` 
> associated, which leads to `None` value returned by `load_user(userid)`, 
> since `userid` is none `None`.
> A quick fix is to add the new user to the session and commit before merging.  
> That is, in module `airflow/contrib/auth/backends/ldap_auth.py`,  we can 
> change
> ```
> if not user:
>     user = models.User(
>         username=username,
>         is_superuser=False)
> session.merge(user)
> session.commit()
> flask_login.login_user(LdapUser(user))
> ```
> by
> ```
> if not user:
>     user = models.User(
>         username=username,
>         is_superuser=False)
>     session.add(user)
>             
> session.commit()
> session.merge(user)
> flask_login.login_user(LdapUser(user))
> ```



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to