Доброе утро,UNIFACE LDAP Аутентификация пользователя
Мы используем LDAP в пределах uniface, чтобы пользователи могли входить в систему. Когда имя пользователя/пароль верны, все в порядке. Но когда используется неверный пароль, мы получаем код ошибки 49. Возможно ли получить более содержательное сообщение об ошибке. Нечто похожее: неверное имя пользователя/пароль Пароль устарел или имя пользователя отключено.
Мой код:
;-----------------------------------------------------------------------
; Initialise an ldap session (using PRIMARY DOMAIN CONTROLLER details)
; Get handle back to the session for use by subsequent calls
;-----------------------------------------------------------------------
activate "LDAP".LDAP_SSLINIT(v_handle,v_p_svr,v_p_port,v_ssl)
if($status != 0) ;Failed
return(0)
endif
then
;---------------------------------------------------------
; Perform a BIND to the LDAP (thereby authenticating user)
;---------------------------------------------------------
activate "LDAP".LDAP_BIND_S(v_handle,v_dn,v_cred,v_method)
Uniface немного странно, но я думаю, что призывы к LDAP должны быть такими же, как, скажем, Java.
Привет, спасибо за ответ. Да, когда служба LDAP возвращает 49, это означает недопустимые учетные данные. Но также должны быть доступны следующие коды ошибок: 525 \t пользователь не найден 52e \t недействительные учетные данные Я думаю, что эти числовые коды попадают на ошибку 49, разделенную на /. Я думаю, что $ status не способен обрабатывать этот тип возвращаемого значения. Если я установил подпись, чтобы вернуть значение в качестве первого параметра, оно возвращается как 0 или 1, чтобы указать успех или неудачу. Итак, все еще запутано –