Если вы можете вложить свои 3 пользовательские структуры в пользовательскую структуру с ключом по имени, вы можете выполнить structKeyExists()
, чтобы найти подходящего пользователя, а затем просто проверить пароль.Кучи быстрее, чем циклы по многим структурам, одна за другой.
например.
<cfscript>
users = {
cat = { name: "cat", password: "meow", group: 1 },
bird = { name: "bird", password: "chirp", group: 2 },
mouse = { name: "mouse", password: "squeak", group: 3 }
};
if (
structKeyExists( form, 'username' )
&& structKeyExists( form, 'password' )
&& len( form.username & form.password ) > 0
&& structKeyExists( users, form.username )
&& structKeyExists( users[form.username], 'password' )
&& users[form.username].password == form.password
) {
// sign them in
}
else {
// throw error "invalid username or password"
}
</cfscript>