Я пытаюсь найти способ получить такую информацию, как 'mail', 'displayName', 'phoneNumber', от пользователя, прошедшего аутентификацию / авторизацию LDAP во Flask.
Мой пользователь может успешно пройти аутентификацию и войти в систему с помощью LDAP. Однако как я могу получить дополнительную информацию о пользователе?
Я использую стандартные модули python-ldap и flask-login, и я пытаюсь создать строковую переменную для этих атрибутов, чтобы я мог вызывать их позже в сеансе. При попытке выполнить запрос я получаю ldap.FILTER_ERROR: {'desc': u'Bad search filter'}
. Любые идеи о том, как заставить это работать?
class UserInfo():
def whoami(username, password):
conn = get_ldap_connection()
conn.simple_bind_s(username,password)
basedn = 'OU=...,OU=...,DC=...,DC=...'
userfilter = "(|(SamAccountName=\*" + username + "\*)"
userattribute = ['displayName']
userresults = conn.search_s(basedn,ldap.SCOPE_SUBTREE,userfilter, userattribute)
userinfos = UserInfo()
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(100))
def __init__(self, username, password):
self.username = username
@staticmethod
def try_login(username, password):
conn = get_ldap_connection()
conn.simple_bind_s(domain+username, password)
def is_authenticated(self):
return True
def is_active(self):
return True
def is_anonymous(self):
return False
def get_id(self):
return unicode(self.id)
@login_manager.user_loader
def load_user(id):
return User.query.get(int(id))
@app.before_request
def get_current_user():
g.user = current_user
login_user
используется для передачиUser
объекта с данными пользователя. Ознакомьтесь с примером входа, чтобы узнать, как это сделать. - person kiran.koduru   schedule 03.11.2016conn.search_s
? - person kiran.koduru   schedule 03.11.2016*
в вашемuserfilter
. Вы пробовали это? - person kiran.koduru   schedule 03.11.2016userfilter
отсутствует закрывающая скобка)
. - person kiran.koduru   schedule 03.11.2016'(SamAccountName=%s)'% name'
- без пробелов и кавычек? - person kiran.koduru   schedule 03.11.2016'(&(objectClass=user)(sAMAccountName=%s))' % name
? - person kiran.koduru   schedule 03.11.2016userfilter
и сказать, что вы получите? - person kiran.koduru   schedule 03.11.2016