В этой статье будет рассказано, как зарегистрированным пользователям разрешить доступ к некой секретной 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()