Статья: Аутентификация пользователей с помощью ASP

В этой статье будет рассказано, как зарегистрированным пользователям разрешить доступ к некой секретной asp странице, а посторонним нет.

Постановка задачи: Есть база данных Access 97, в которой хранятся имена зарегистрированных пользователей и их пароли, и есть некая секретная страница, доступ к которой должны иметь только пользователи, занесенные в БД. Пароли в БД требуется хранить в зашифрованном виде. Преимущество такого подхода в том, что поля базы данных, содержащие пароли, не содержат реальных значений и их нельзя использовать при входе в систему.

Для работы нам понадобится ActiveX компонент Ecrypt, который Вы можете взять на этом сайте в разделе ActiveX.

Движемся по шагам:

1. Создайте БД в Access. Имя таблицы - TUSERS. Описание полей:

Возможно вы искали - Статья: Использование COM-объектов в хранимых процедурах SQL Server

n_id - Счетчик (Primary Key)

s_name - Текстовый

s_password - Текстовый

Затем создайте DSN для этой БД. При работе с WindowsNT (2000) необходимо создать System DSN, а при работе с Windows95-98 можно создать и User DSN. Дайте DSN имя reg.

2. Напишем ActiveX DLL Auth на Visual Basic 6, которая будет выполнять основную работу. Запустите Visual Basic 6 ивокне New Project выберем ActiveX DLL. Переименуем имя проекта на Auth, а имя класса на Security. Теперь надо подключить необходимые библиотеки: выбираем Project ->References...

Похожий материал - Статья: Работа с двоичными данными SQL Server ASP

Подключаем библиотеки Microsoft ActiveX Data Objects 2.1 Library и ECrypt 1.0 Type Library (см. выше).

3. Далее набираем следующий код:

Option Explicit

Private cn As ADODB.Connection

Private rs As ADODB.Recordset

Очень интересно - Статья: ASP.NET Atlas AJAX в исполнении Microsoft

Private sName As String 'Имяпользователя

Private sPasswd As String 'Пароль

Private sError As String

Private sResult As Integer 'Результат

Public Property Get Result() As Integer

Вам будет интересно - Статья: Представление в Internet содержимого каталога средствами ASP

Result = sResult

End Property

Public Property Let InitName(ByVal Name As String)

sName = Name

End Property

Похожий материал - Статья: ASP.NET пример построения круговой диаграммы

Public Property Let InitPassword(ByVal Passwd As String)

sPasswd = Passwd

End Property

Private Sub Class_Initialize()