Я использую CFLDAP для аутентификации пользователей с использованием активного каталога. Я пытаюсь написать оператор if в случае, если информация пользователя не возвращается как заверенная. Я думал, что могу проверить, используя <cfif AuthenticateUser.RecordCount gt 0>
, который работает до тех пор, пока информация верна, но если введена неправильная информация и ничего не аутентифицировано, она не запускает инструкцию else. Любая помощь с этим будет принята с благодарностью!Если запрос Else пуст
<cfldap action="query"
name="AuthenticateUser"
attributes="dn,mail,givenname,sn,samaccountname,memberof"
start="DC=domain,DC=net"
filter="(&(objectclass=user)(samAccountName=#trim(form.user_name)#))"
server="servername"
Port="389"
username="tc\#trim(form.user_name)#"
password="#trim(form.user_pass)#">
<cfoutput>#AuthenticateUser.RecordCount#</cfoutput>
<!--- Get all records from the database that match this users credentials --->
<cfquery name="userVerify" datasource="test">
SELECT *
FROM dbo.Users
WHERE user_name = <cfqueryparam value="#AuthenticateUser.samaccountname#" cfsqltype="cf_sql_varchar" />
</cfquery>
<cfif AuthenticateUser.RecordCount gt 0>
<!--- This user has logged in correctly, change the value of the session.allowin value --->
<cfset session.allowin = "True" />
<cfset session.employee_number = userVerify.employee_number />
<!--- Now welcome user and redirect to "index.html" --->
<script>
self.location="../dashboard/dashboard.cfm";
</script>
<cfelse>
<!--- this user did not log in correctly, alert and redirect to the login page --->
<script>
alert("Your credentials could not be verified, please try again!");
self.location="Javascript:history.go(-1)";
</script>
</cfif>
Я также попытался: <cfif len(AuthenticateUser)>
Что содержит AuthenticateUser, когда это происходит? Какова цель другого запроса, то есть userVerify? – Leigh
, когда он аутентифицируется, когда он захватывает всю активную информацию каталога, когда введен неправильный логин, он просто пуст. userVerify в основном сопоставляет аутентифицированное имя с базой данных sql, получая все данные пользователей, такие как номер сотрудника и все. Многие вещи, которые не находятся в активном каталоге –
, поэтому, когда я ввожу правильное имя пользователя и пароль, оно будет продолжаться и перейти к моей cfm панели управления, но когда я напечатаю неверную информацию, я просто получаю белый экран, и я ничего не показываю при сбросе authenticateuser –