|
Программирование >> Руководство по созданию web приложений
154 Базы в Интернете. Практическое руководство На следующем этапе сценарий создает объект Command, для выполнения щкчшмои процедуры аутентификации var = ClientLogin ; = connect; процедура ClientLogin имеет два входных : (идентифи- катор и пароль посетителя) и один выходной (результат аутентификации). параметры определяются в объекте Command следующим образом; adVarChar, Pass , adVarChar, adParamlnput, 50, . Имена параметров указаны как и Pass. Это текстовые строки, тип параметров мы указываем KaKadVarChar. adParamlnput определяет, что параметры User и Pass являются входными. Длина текстовых строк, передаваемых через данные параметры, не превышает 50 байт. И наконец, значения параметров берутся из sUser и sPassword. Выходной параметр определяется аналогичным образом, но с применением константы v,i: ParamOut = adVarChar, 50, ), После формирования параметров они добавляются к команде метолом Append, чего команда при помощи метода Execute: cmd. Если в создания с источником данных, команды и ее параметров, а также при . команды возникло ника- ких ошибок, закрывается методом Close: Строго говоря, можно не закрывать соединение подобным образом, так как после того как пользователь обратится к другой странице, оно будет автоматически закрыто. Однако это может произойти не сразу 20 минут), поэтому для ресурсов сервера sql Server мы закры- ваем соединение явным образом. Далее мы проверяем значение, полученное от хранимой процедуры Client-iLogin через параметр ParamOut. Если пользователя прошла успешно, в этом . бу- дет находиться значение, отличное от null. В этом сдзгае мы сохраняем в менных сеанса результат аутентификации, признак успешной идентификации и идентификатор а затем передаем управление странице != null) else Переменная с Rights никак не нашим приложе- нием, хотя Вы можете применить ее для дифференциации посетителей. В этом случае в таблице clients Вы можете предусмотреть поле Rights и в нем права , , устанавливая их в зависимости от тех или иных условий. пользователи, сделавшие покупки на суммы, могут доступ к страницам Вашего магазина. Содержимое переменной сеанса Ок проверяется перед отображением всех страниц приложения покупателя, кроме страниц аутентификации и регистрации. В результате мы исключаем возможность прямого к этим страницам для пользователей, не прошедших аутентификацию. И наконец, сеанса IJserlO идентифицирует покупателя и исполь- зуется, для формирования его персональной корзины. При неудачной аутентификации содержимое указанных переменных сеанса а пользователю выдается страница с о необходимости Обработка ошибок В том сл5Д1ае, когда при обрагцении к базе данных возникли ошибки, мы их обрабатываем в блоке catch. Использованная при этом методика была описана поэтому здесь мы только скажем, что сообщение об ошибке передается При этом через ERROR мы передаем имя файла страницы, в которой произошла ошибка, а в переменной - сообщение об ошибке, подготовлен- ное в блоке catch. Исходный текст страницы error.asp показан в 4-9. Листинг 4-9 Вы найдете в файле ch4\BookShopClient\error.asp на прилагаемом к книге компакт-диске. Здесь мы информируем посетителя о том, что произошла ошибка в приложении, для исправления которой необходимо вмешательство администратора сервера Web. Далее отображается иа.чаушг страницы, в которой произошла ошибка, и текст сообщения об ошибке: - ..... в ..... . <р>Обратитесь к администратору сервера Web. </р> Па рис. 4-27 показано сообщение, появляющееся в том случае, если Вы пытаетесь создать соединение с несуществующим источником данных. Ошибки 1! not found and no driver ej Done Рис. 4-27. Сообщение об ощибке при соединении с источником данных Другое сообщение появится в случае, если Вы назначить права до- ступа к хранимой процедуре: SQL Server . . ; : . permission Viiil 11 iili] i+ - - . database -- Wni Кстати, если мы вовсе опустим обработку ощибок на странице enter.asp, то ощибка все равно будет обработана, но уже системой интерпретации страниц ASP. При этом в случае, например, с г прав на выполнение хранимой про- цедуры в окне браузера посетителя появится . показанное на рис. 4-28. MS] - OLE tor ODBC eiKil SQL - otl owtiei Рис. 4-28. Сообщение об ошибке, отображаемое :- : .ASP Хотя OHO содержит даже больще iilie нужно для отладки стра- ницы (дополнительно отображается номер строки, в которой произошла ошибка), пользователю оно будет непонятно. Мы можем , : пользователю те или иные действия в зависимости от логики работы приложения или от того, где возникла ошибка, а также в ряде случаев полностью ликвидировать ее последствия . от пользователя. Хранимая працецурд ClientLogin Теперь мы расскажем Вам о том. как устроена хранимая . ClientLogin, которая вызывается из сценария enter.asp и выполняет аутентифика- цию пользователей мш посетителей магазина.
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |