Базы данныхИнтернетКомпьютерыОперационные системыПрограммированиеСетиСвязьРазное
Поиск по сайту:
Подпишись на рассылку:

Назад в раздел

Ставим пароль на ASP страницу

Setting password on a web page via ASP Ставим пароль на ASP страницу

Евгений Кондратов

Тэг <Include> позволяет подключить к ASP-файлу внешние файлы. Используя это свойство можно задавать пароль и право доступа на любую страницу выполненную как файл ASP. Грамотный пользователь может возразить: "При работе в NT с файловой системой NTFS права назначаются на уровне OS и чего, мол, огород городить". Все это правильно, но при наличии сколько-нибудь большого количества пользователей с динамически изменяемыми правами администрирование системы превращается в головную боль. А если мы желаем дать пользователю возможность самому назначать права, или предоставляем ему возможность овладевания (ovner) страницей при создании виртуального "дома", или хотим персонализировать его информацию … вопросов больше, чем ответов. Использовать специализированный софт дорого, до и не нужно, можно решить эту проблему используя исключительно возможности 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" %> <!--#include virtual="login.inc"-->

При использовании данного способа аутентификации используются Coocies! Не забудьте предупредить пользователей о необходимости их использования. Так, как код ASP выполняется на сервере, нет необходимости беспокоиться о совместимости браузеров и это мне представляется весьма большим плюсом данного способа!

При создании статьи использовался материал с сайта www.oceantek.com

Вопросы и рекомендации будут с благодарностью приняты по адресу webmaster@tarantul.infosys.ru



  • Главная
  • Новости
  • Новинки
  • Скрипты
  • Форум
  • Ссылки
  • О сайте




  • Emanual.ru – это сайт, посвящённый всем значимым событиям в IT-индустрии: новейшие разработки, уникальные методы и горячие новости! Тонны информации, полезной как для обычных пользователей, так и для самых продвинутых программистов! Интересные обсуждения на актуальные темы и огромная аудитория, которая может быть интересна широкому кругу рекламодателей. У нас вы узнаете всё о компьютерах, базах данных, операционных системах, сетях, инфраструктурах, связях и программированию на популярных языках!
     Copyright © 2001-2024
    Реклама на сайте