ставим пароль на asp страницу☛Документация ASP ✎ |
Пароли на различных страницах сайта существуют повсюду, например на админке. По этому как поставить пароль на страницу должен знать каждый web-мастер. В этой статье рассказано как написать запароленую страницу на языке ASP.
Тэг
Итак, приступим. Для хранения имен, паролей и прав (групп) нам понадобится база данных. В отличии от текстового файла база данных имеет массу положительных качеств, я остановлюсь только на одном – доступе. Нет необходимости "расшаривать" базу данных и назначать права на доступ к ней, делать ее видимой пользователям извне, прописывать полные или виртуальные пути. Достаточно создать системный ресурс ODBC, и все ОК, файлы с данными пользователям не видны, однако данные становятся доступными! Создадим новую базу данных и назовем её user.mdb. Я традиционно использую MSACCESS (целостность данных!). Теперь таблицы с данными.
Поля таблицы:
Поле
Тип данных
Кол-во символов
Индекс
Уникальность
Значение по умолчанию
DateTime Date - Нет Нет Date ()
Group Num Int Да Нет 1
Name Text 25 Да Да -
Pas Text 25 Да Да -
Access Boolean Yes/No Нет Нет Yes
Имя таблицы "Account".
Информацию о группах будем хранить в таблице "MyGroup".
Поле
Тип данных
Кол-во символов
Индекс
Уникальность
Значение по умолчанию
IdGroup Num Int Да Да -
NameGroup Text 25 Да Да -
Для обеспечения целостности и обновления данных необходимо связать таблицы по полям MyGroup.IdGroup -- Account.Group в соотношении "один ко многим", это позволит легко администрировать группы пользователей.
Внешне это будет выглядеть так:
Заполним таблицы минимальным количеством данных.
DateTime
Group
Name
Pas
Access
04.08.98
3
Alex hello Yes
04.08.98
2
Mikl hiScat Yes
04.08.98
1
Udjin 123##456?? Yes
IdGroup
NameGroup
1
Administrator
2
Webmaster
3
User
Закроем базу данных и создадим системный ресурс ODBC с именем "user". Имя и пароль на доступ к ресурсу ODBC, соответственно, укажем: IUSER – password. Установите флажок READ-ONLY. Теперь дело за подключаемым файлом с ASP кодом.
Что должен делать этот код: Открывать сессию для пользователя При открытии сессии выводить на экран удаленного пользователя форму авторизации Опрашивать базу с аккаунтами пользователей на предмет совпадения Имени и Пароля В ходе текущей сессии пропускать пользователя на защищаемые страницы и не надоедать пользователю Удалять имя и пароль пользователя из памяти по окончании сессии.
Приводимый ниже код отвечает этим требованиям.
Код подключаемого файла.
Как использовать.
Скопируйте код в любой текстовый редактор не умеющий форматировать текст (Notepad) и сохраните файл как "login.inc" .
Разместите файл в каталоге с защищаемыми страницами и не забудьте назначить премиссию RX на защищаемые файлы.
Включите ПЕРЕД HTML кодом защищаемой страницы следующий код:
<%@ LANGUAGE="VBSCRIPT" %>
При использовании данного способа аутентификации используются Coocies! Не забудьте предупредить пользователей о необходимости их использования. Так, как код ASP выполняется на сервере, нет необходимости беспокоиться о совместимости браузеров и это мне представляется весьма большим плюсом данного способа
Другие материалы по теме:
- азы ado и asp- ставим пароль на asp страницу
- знакомство с asp: счетчик для iis за 5 минут
- 3 мифа о документации в asp.net, которые мешают вашему проекту
- несколько рекомендаций по программированию active server pages
