вход на сайт ColdFusion из приложения AIR на основе JS?

#javascript #jquery #ajax #coldfusion #air

#javascript #jquery #ajax #coldfusion #air

Вопрос:

У меня есть следующий код ColdFusion на сервере (который я не могу изменить) :

 <cfquery name="getlogin" datasource="#application.dsn#">
        SELECT * 
        FROM tbl_userAccount
        WHERE userName = <cfqueryparam cfsqltype="cf_sql_varchar" value="#form.userName#"/> AND passWord = <cfqueryparam cfsqltype="cf_sql_varchar" value="#form.passWord#"/> AND siteID = <cfqueryparam cfsqltype="cf_sql_integer" value="#application.siteID#"/>
    </cfquery>
  

и я пытаюсь создать окно JavaScript для входа в него из приложения Adobe AIR.

В частности, я хочу, чтобы оно отправляло учетные данные пользователя (uName и pWord) и возвращало идентификатор учетной записи (который также был бы включен в инструкцию ‘SELECT *’).

Кто-нибудь может помочь мне начать с этим?

Ответ №1:

Действительно быстрый и грязный способ начать работу с этим — поместить этот запрос в метод в CFC.

Этот метод будет принимать два параметра для имени пользователя и пароля. Замените переменные формы в cfqueryparms соответствующими аргументами вашего метода.

В методе вы должны установить тип возвращаемого значения как числовой, а returnttype — как json. Вы сможете вызвать метод в CFC из сообщения Ajax, принимающего обратно идентификатор учетной записи. В основном просто используйте CFC как веб-сервис.

Что вам нужно будет сделать, так это подтвердить имя пользователя и пароль, вернуть ноль или отрицательное число, если вы не получили ни одной записи, возвращенной вашим запросом, уберите * из выбора и верните только идентификатор учетной записи.

Комментарии:

1. Нет ли способа написать сценарий вокруг этого, чтобы избежать превращения этого в CFC? Прямо сейчас на сайте, к которому осуществляется доступ, все есть на страницах CFM, и я не хочу подвергать ведущего разработчика хлопотам по превращению вещей в CFC, если есть какой-либо способ избежать этого…

2. Вероятно, вы можете отправить http-сообщение через javascript на страницу действия формы, но вам придется очистить html-ответ, чтобы попытаться найти идентификатор учетной записи, если он вообще присутствует на странице. Честно говоря, вы открываете себя миру боли.

3. Хорошо, спасибо; Я ценю вашу помощь — я посмотрю, смогу ли я превратить некоторые из этих CFM в CFC.