mirror of
https://github.com/capricornxl/ad-password-self-service.git
synced 2025-08-11 15:46:13 +08:00
fix session cache bug
This commit is contained in:
@@ -63,8 +63,7 @@ class AdOps(object):
|
||||
def __server(self):
|
||||
if self.server is None:
|
||||
try:
|
||||
self.server = Server(host='%s' % LDAP_HOST, connect_timeout=1, use_ssl=self.use_ssl, port=self.port,
|
||||
get_info=ALL)
|
||||
self.server = Server(host='%s' % LDAP_HOST, connect_timeout=1, use_ssl=self.use_ssl, port=self.port, get_info=ALL)
|
||||
except LDAPInvalidCredentialsResult as lic_e:
|
||||
return False, LDAPOperationResult("LDAPInvalidCredentialsResult: " + str(lic_e.message))
|
||||
except LDAPOperationResult as lo_e:
|
||||
@@ -139,24 +138,7 @@ class AdOps(object):
|
||||
"""
|
||||
try:
|
||||
self.__conn()
|
||||
return True, self.conn.search(BASE_DN, SEARCH_FILTER.format(username),
|
||||
attributes=['sAMAccountName'])
|
||||
except IndexError:
|
||||
return False, "AdOps Exception: Connect.search未能检索到任何信息,当前账号可能被排除在<SEARCH_FILTER>之外,请联系管理员处理。"
|
||||
except Exception as e:
|
||||
return False, "AdOps Exception: {}".format(e)
|
||||
|
||||
@decorator_logger(logger, log_head='AdOps', pretty=True, indent=2, verbose=1)
|
||||
def ad_get_user_displayname_by_account(self, username):
|
||||
"""
|
||||
通过username查询某个用户的显示名
|
||||
:param username:
|
||||
:return: user_displayname
|
||||
"""
|
||||
try:
|
||||
self.__conn()
|
||||
self.conn.search(BASE_DN, SEARCH_FILTER.format(username), attributes=['name'])
|
||||
return True, self.conn.entries[0]['name']
|
||||
return True, self.conn.search(BASE_DN, SEARCH_FILTER.format(username), attributes=['sAMAccountName'])
|
||||
except IndexError:
|
||||
return False, "AdOps Exception: Connect.search未能检索到任何信息,当前账号可能被排除在<SEARCH_FILTER>之外,请联系管理员处理。"
|
||||
except Exception as e:
|
||||
|
@@ -59,18 +59,20 @@ class DingDingOps(AppKeyClient):
|
||||
_status, user_id = self.get_user_id_by_code(code)
|
||||
# 判断 user_id 在本企业钉钉/微信中是否存在
|
||||
if not _status:
|
||||
context = {'global_title': TITLE,
|
||||
'msg': '获取userid失败,错误信息:{}'.format(user_id),
|
||||
'button_click': "window.location.href='%s'" % home_url,
|
||||
'button_display': "返回主页"
|
||||
}
|
||||
context = {
|
||||
'global_title': TITLE,
|
||||
'msg': '获取userid失败,错误信息:{}'.format(user_id),
|
||||
'button_click': "window.location.href='%s'" % home_url,
|
||||
'button_display': "返回主页"
|
||||
}
|
||||
return False, context, user_id
|
||||
detail_status, user_info = self.get_user_detail_by_user_id(user_id)
|
||||
if not detail_status:
|
||||
context = {'global_title': TITLE,
|
||||
'msg': '获取用户信息失败,错误信息:{}'.format(user_info),
|
||||
'button_click': "window.location.href='%s'" % home_url,
|
||||
'button_display': "返回主页"
|
||||
}
|
||||
context = {
|
||||
'global_title': TITLE,
|
||||
'msg': '获取用户信息失败,错误信息:{}'.format(user_info),
|
||||
'button_click': "window.location.href='%s'" % home_url,
|
||||
'button_display': "返回主页"
|
||||
}
|
||||
return False, context, user_info
|
||||
return True, user_id, user_info
|
||||
|
@@ -161,31 +161,33 @@ class WeWorkOps(AbstractApi):
|
||||
_status, ticket_data = self.get_user_ticket_by_code_with_oauth2(code)
|
||||
# 判断 user_ticket 是否存在
|
||||
if not _status:
|
||||
context = {'global_title': TITLE,
|
||||
'msg': '获取userid失败,错误信息:{}'.format(ticket_data),
|
||||
'button_click': "window.location.href='%s'" % '/auth',
|
||||
'button_display': "重新认证授权"
|
||||
}
|
||||
context = {
|
||||
'global_title': TITLE,
|
||||
'msg': '获取userid失败,错误信息:{}'.format(ticket_data),
|
||||
'button_click': "window.location.href='%s'" % '/auth',
|
||||
'button_display': "重新认证授权"
|
||||
}
|
||||
return False, context, ticket_data
|
||||
|
||||
user_id = ticket_data.get('userid')
|
||||
if ticket_data.get('user_ticket') is None:
|
||||
context = {'global_title': TITLE,
|
||||
'msg': '获取用户Ticket失败,当前扫码用户[{}]可能未加入企业!'.format(user_id),
|
||||
'button_click': "window.location.href='%s'" % home_url,
|
||||
'button_display': "返回修改密码"
|
||||
}
|
||||
context = {
|
||||
'global_title': TITLE,
|
||||
'msg': '获取用户Ticket失败,当前扫码用户[{}]可能未加入企业!'.format(user_id),
|
||||
'button_click': "window.location.href='%s'" % home_url,
|
||||
'button_display': "返回修改密码"
|
||||
}
|
||||
return False, context, user_id
|
||||
|
||||
# 通过user_ticket获取企业微信用户详情信息
|
||||
detail_status, user_info = self.get_user_info_by_ticket_with_oauth2(ticket_data.get('user_ticket'))
|
||||
print("get_user_info_by_ticket_with_oauth2 --- ", user_info)
|
||||
if not detail_status:
|
||||
context = {'global_title': TITLE,
|
||||
'msg': '获取用户信息失败,错误信息:{}'.format(user_id),
|
||||
'button_click': "window.location.href='%s'" % '/auth',
|
||||
'button_display': "重新认证授权"
|
||||
}
|
||||
context = {
|
||||
'global_title': TITLE,
|
||||
'msg': '获取用户信息失败,错误信息:{}'.format(user_id),
|
||||
'button_click': "window.location.href='%s'" % '/auth',
|
||||
'button_display': "重新认证授权"
|
||||
}
|
||||
return False, context
|
||||
return True, user_id, user_info
|
||||
|
||||
|
Reference in New Issue
Block a user