Вставка электронной почты в auth_user в web2py при первом входе в систему при использовании pam_auth - PullRequest
0 голосов
/ 08 марта 2011

Я использую логин pam_auth для моей установки web2py. Когда пользователь входит в систему в первый раз, я хочу сохранить его электронную почту, которую я получаю из запроса ldap. Как я могу сделать это в web2py.

Другими словами, я хочу выполнить часть запроса ldap на python во время первого входа любого пользователя.

1 Ответ

1 голос
/ 09 марта 2011

Система аутентификации web2py по умолчанию имеет таблицу событий, в которой хранятся все события для пользователя.то есть он хранит события для регистрации, входа в систему, выхода из системы и т. д.

Таким образом, вы можете узнать, является ли это первым входом в систему, запросив эту таблицу.

USER_ID = #Get your user ID
query = (db.auth_event.description.like('%Logged-in%'))&(db.auth_event.user_id==USER_ID) 
if db(query).count() == 1:
    #this is the first login of this user
    ldap_mail = #Call LDAP to get the email 
    #store the email adress in auth_user
    db(db.auth_user.id==USER_ID).update(email=ldap_mail)
...