Letysite.ru

IT Новости с интернет пространства
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Access авторизация пользователя

Практическая работа Защита данных в среде MS Access с помощью создания формы «Авторизация»

V Международный дистанционный конкурс «Старт»

Низкий оргвзнос 30р

Идёт приём заявок

Для учеников 1-11 классов и дошкольников

Наградные и подарки

Защита данных в среде MS Access с помощью создания формы «Авторизация»

Цель работы : ознакомиться со способом защиты базы данных с помощью создания формы авторизации пользователей.

Персональный компьютер (ПК);

Программное обеспечение ПК – программа Microsoft Access ;

Методические рекомендации по выполнению Практической работы.

Открыть созданную ранее БД

Создать новую форму «Авторизация» с помощью Конструктора форм

Добавить на форму 2 поля Элемент поле

Добавьте на форму 1 кнопку «ОК»

Оформите форму как указано на рисунке:

Форма в режиме «Конструктор»

Форма в режиме Форма

Измените название полей , для этого откройте их свойства (нажмите правой кнопкой мыши на поле и выберите «Свойства», перейдите на вкладку «Другие» и для логина введите название « login », для пароля « parol »)

Нажмите правой кнопкой мыши на созданную Вами кнопку «ОК» и выберите «Обработка событий»

На месте курсора введите код программы на языке VBA (пример программы ниже)

На месте «Ваше_имя» введите ваше имя , на месте «Другое_имя» введите любое другое имя.

На месте «Название_формы» и «Название_другой_формы» введите название любой формы из созданных ранее.

DoCmd.Close acForm, « авторизация «

ElseIf Me.parol = «555» And Me.login = « Другое _ имя » Then

DoCmd.Close acForm, « авторизация «

Else: MsgBox «Введите пароль заново»

Чтобы перейти на форму нажмите кнопку в крайнем левом углу окна:

Проверьте работу формы «Авторизация»:

Введите данные, которые Вы указали в программе «Ваше имя» и пароль 333 и нажмите кнопку «ОК»

Введите неверные данные, что произойдет?

Отчет по практической работе:

Зафиксируйте в тетради название работы, цель, оборудование и кратко запишите ход выполнения работы, напишите вывод;

Продемонстрируйте свою работу преподавателю.

Чтобы скачать материал, введите свой E-mail, укажите, кто Вы, и нажмите кнопку

Нажимая кнопку, Вы соглашаетесь получать от нас E-mail-рассылку

Если скачивание материала не началось, нажмите еще раз «Скачать материал».

  • Информатика

В данной работе содержится инструкция по созданию формы «Авторизация», которая будет являться начальной формой при открытии базы данных.

Созданная форма позволяет разграничить права доступа к информации, хранящейся в базе данных с помощью ввода логина и пароля пользователя. Работа помогает закрепить теоретические навыки создания форм в базе данных, а также познакомиться с языком программирования Visual Basic for Applications (VBA).

Создание или изменение пароля учетной записи пользователя в БД MS Access

Пароль учетной записи пользователя определяется для того, чтобы запретить пользователю подключение под учетной записью другого пользователя. MS Access по умолчанию присваивает учетной записи пользователя Admin и любым новым учетным записям пользователя, создаваемым в рабочей группе, пустые пароли.

Внимание! Если пароль потерян или забыт, то восстановить его будет невозможно. Поэтому следует хранить его в надежном месте. Чтобы получить доступ к БД пользователь, потерявший пароль, должен обратиться к администратору (члену группы Admins той рабочей группы, в которой были созданы учетная запись и пароль), чтобы тот снял пароль.

Для создания пароля пользователю необходимо:

1. Запустить MS Access с использованием той рабочей группы, в которой хранится учетная запись пользователя, и войти в него по той учетной записи, для которой нужно создать или изменить пароль.

3. На вкладке Работа с базами данных ленты инструментов в группе Администратор выбрать команду Пользователи и разрешения — Пользователи и группы….

4. На вкладке Изменение пароля оставить поле Текущий пароль пустым, если учетная запись ранее не имела пароля. В противном случае ввести в поле Текущий пароль старый пароль.

5. Ввести новый пароль в поле Новый пароль.

6. Повторно ввести новый пароль в поле Подтверждение и нажать кнопку OK (рис. 11.18).

Снятие пароля учетной записи пользователя

Для выполнения данной процедуры необходимо войти в БД по учетной записи члена группы Admins.

1. Запустить MS Access с использованием файла рабочей группы, в котором хранится учетная запись пользователя.

3. На вкладке Работа с базами данных ленты инструментов в групппе Администратор выбрать команду Пользователи и разрешения — Пользователи и группы….

4. На вкладке Пользователи ввести имя учетной записи пользователя в поле Имя.

5. Нажать кнопку Снять пароль (рис. 11.19).

6. Повторить шаги 4 и 5 для снятия других паролей, затем нажать кнопку OK.

Разрешения на доступ

Разрешения — набор атрибутов, определяющих права пользователя на данные или объекты в БД.

Существуют два типа разрешений на доступ:

1. Явные — если они непосредственно присвоены учетной записи пользователя. Такие разрешения не влияют на разрешения других пользователей.

2. Неявные — разрешения на доступ, присвоенные учетной записи группы. Пользователь, включенный в такую группу, получает все разрешения, предоставленные группе. Удаление пользователя из этой группы лишает его всех разрешений, присвоенных данной группе.

При попытке пользователя выполнить какую-либо операцию с защищенным объектом БД его текущие разрешения определяются комбинацией явных и неявных разрешений на доступ. На уровне пользователей всегда действуют минимальные ограничения из налагаемых явными разрешениями для пользователя и для всех групп, к которым принадлежит данный пользователь. Поэтому простейшим способом управления рабочей группой является создание новых групп и определение разрешений на доступ для этих групп, а не для индивидуальных пользователей. После этого изменение разрешений для отдельных пользователей осуществляется путем добавления пользователей в группы или удаления их из групп. Кроме того, при необходимости предоставить новые разрешения, они предоставляются сразу всем членам группы в одной операции.

Читать еще:  Офис 2020 ключ активация 2020

Изменять разрешения других пользователей на отдельные объекты БД могут следующие пользователи:

· члены группы Admins, определенной в файле рабочей группы, который использовался при создании конкретной БД;

· владелец объекта;

· любой пользователь, получивший на этот объект разрешения администратора.

В ряде случаев пользователи, не имеющие разрешения на выполнение какого-либо действия, имеют возможность присвоить их себе. Такая ситуация имеет место для пользователя, являющегося членом группы Admins или владельцем объекта.

Пользователь, создавший таблицу, запрос, форму, отчет или макрос, является владельцем этого объекта. Кроме того, группа пользователей, которые могут изменять разрешения в БД, может также сменить владельца объектов или заново создать эти объекты, что является альтернативным способом смены владельца объектов. Для создания объекта заново достаточно импортировать или экспортировать этот объект в другую БД или сделать копию объекта. Этот прием является простейшим способом смены владельца объектов, в том числе и всей БД.

Наличие администраторов и владельцев является необходимым, поскольку им предоставляются разрешения, которые невозможно отобрать.

1. Администраторы (члены группы Admins) всегда могут получить все разрешения на объекты, созданные в рабочей группе.

2. Учетные записи, являющиеся владельцами таблиц, запросов, форм, отчетов или макросов всегда могут получить все разрешения на доступ к этим объектам.

3. Учетная запись, являющаяся владельцем БД, всегда может открыть БД.

Поскольку учетные записи пользователя Admin совершенно одинаковы для всех экземпляров MS Access, то первым шагом при организации системы защиты является определение учетных записей администратора и владельца (или единой учетной записи, являющейся записью и администратора, и владельца). После этого следует удалить учетную запись пользователя Admin из группы Admins. Если этого не сделать, любой пользователь Microsoft Access сможет подключиться к рабочей группе с помощью учетной записи Admin и получить все разрешения на доступ к таблицам, запросам, формам, отчетам и макросам рабочей группы.

В группу Admins разрешается добавлять произвольное число учетных записей, однако владельцем БД может быть только одна учетная запись — та, что была активной при создании БД, либо та, что была активной при передаче права владельца путем создания новой БД и импорта в нее всех объектов из исходной БД. Однако учетные записи групп могут являться владельцами таблиц, запросов, форм, отчетов и макросов БД.

Для входа в MS Access могут быть использованы только учетные записи пользователя; вход с помощью учетной записи группы невозможен.

Учетные записи, создаваемые для пользователей БД, должны сохраняться в файле той рабочей группы, к которой пользователи будут присоединяться для работы с БД. Если для создания БД используется другой файл рабочей группы, перед созданием учетных записей его необходимо сменить.

Необходимо создать уникальные пароли для учетных записей администратора и пользователей. Пользователь, подключившийся с помощью учетной записи администратора, всегда сможет получить все разрешения на доступ ко всем таблицам, запросам, формам, отчетам и макросам, созданным в рабочей группе. Пользователь, подключившийся с помощью учетной записи владельца, всегда сможет получить все разрешения на доступ к объектам, принадлежащим данному владельцу.

После создания учетных записей пользователей и групп можно просматривать и печатать их схемы. MS Access печатает отчет по учетным записям в рабочей группе, демонстрирующий группы, к которым принадлежит каждый пользователь, и всех пользователей, входящих в каждую группу.

Запуск приложения через форму авторизации

В этой статье рассмотрим один из способов защиты приложения Access. Речь пойдет о входе в базу через ввод пароля, или говоря иначе — авторизация. В Access предусмотрена возможность задать пароль на базу данных: Сервис — Защита — Задать пароль базы данных . Однако сам пароль хранится в системном реестре в незашифрованном виде, и чтобы открыть такую защищенную базу, достаточно лишь зайти в реестр и прочитать его. Мы же попробуем создать аналогичный интерфейс, но уже с зашифрованным паролем, причем сделаем так, чтобы при попытке открыть форму, если пользователю удалось войти в базу, минуя стартовую форму авторизации, база аварийно закрывалась.

Для этого нам понадобится в служебной таблице, например tAdminCop, завести поле Password, в котором будем хранить пароль, а так же модуль шифрования пароля — AdminPassword.

Схема авторизации следующая:

При старте приложения запускается форма авторизации formAdmPassword, в которой вводим пароль

Пароль считывается, шифруется и сравнивается с зашифрованным паролем в поле таблицы tAdminCop

Читать еще:  Ключ микрософт офисе 2020 бесплатно

Если пароли совпадают, то открывается стартовая форма приложения, если нет — выход из приложения.

В модуле Constants задана константа логического типа. При правильном пароле она принимает значение True, при ложном (по умолчанию) — соответственно False. В событие формы frmStart есть такая процедура:

Private Sub Form_Open(Cancel As Integer)
If flgEnabled = False Then
DoCmd.Quit acPrompt
End If
End Sub

Как видно, если flgEnabled = False, то, стало быть, выход из приложения. Таким образом, и делается невозможность открытия формы без ввода пароля. Если аналогичные процедуры повесить на остальные формы, отчеты, то единственной лазейкой для «врагов» останутся только таблицы, у которых, к сожалению, нет никаких событий, которые можно бы было перехватить. Единственной защитой для них будет скрытие окна приложения и установка защиты от Shift.
Очевидно, что такая авторизация эффективна лишь в том случае, когда «врагам» нет хода к исходному коду модулей, иными словами база преобразована в формат .mde. Вообще, основа любой защиты приложений Access — это .mde формат. Действительно, вздумай Вы защищать подобным образом .mdb, любой мог бы просто открыть модуль Constants и прописать там

Public Const flgEnabled = True

И все, никакой защиты.

Защита шифрованием пароля будет зависеть от сложности шифрования. Я показал лишь простейший пример (модуль AdminPassword). Вообще, стоит поискать в Интернете, или попытаться придумать самому более хитрый (стойкий) алгоритм шифрования.
Итак, проведем испытание:

Запускаем приложение. Появляется форма авторизации. Вводим 123456, жмем ввод — открывается стартовая форма. Теперь попробуем открыть форму frmStart без ввода пароля. Запускаем приложение, удерживая Shift — открывается окно проекта Access. Пытаемся запустить frmStart — приложение закрывается.
Если теперь добавить в нашу программу защиту от Shift, то приложение станет еще более «неприступным».

Используя защиту от Shift и вход через форму авторизации, можно здорово попортить нервы всем любителям лазить куда не следует. Но допустим, Вы решите установить (продать) свою программу кому — либо. Как сделать так, чтобы он не смог распространять ее без Вашего ведома? Иными словами, как организовать сервис регистрации программы ? Об этом в следующей статье.

Пример, как это все работает, Вы можете скачать ниже.

Archie Goodwin

Авторизация

Рубрики блога

  • Public / Общие темы
    • Новость + Мнение
    • Размышления
    • Уроки или советы
    • Это интересно
    • Юмор
    • Креатив
    • Рецензия
    • Личность
    • Притчи, истории
    • Новости сайта
  • Special / СпецРубрики
    • Записки вебмастера
    • Вопрос дизайна
    • Мой ПК
    • MS Office и VBA
    • Прочие офисные программы
  • Diary / Личный дневник
    • Дневник

Рекомендуем

Последние комментарии

Облако тегов

Устами великих

Реклама

Форма входа (MS Access)

Суть в том, что бы создать форму выскакивающую при входе, в которой бы были поле выпадающего списка для выбора сотрудника, поле для ввода пароля и соответственно кнопка «ОК». Но это не просто форма для безопасности. Еще должна быть привязка к должности пользователя. Так, после подтверждения правильности ввода данных, должна открываться форма со множеством подчиненных форм и кнопок на отчеты и запросы, при чем эта форма должна быть разной для каждой должности. Таким образом, получается что будет создан пользовательский интерфейс при этом не закрывая, так сказать, исходный код, но по большому счету, любому пользователю будет незачем просматривать все отчеты, фомы и запросы базы в поисках непонятно чего, так как у него все будет нужно у него перед глазами.

Самое первое что нужно, так это таблица с сотрудниками (или пользователями) со столбцами где указаны их имя, должность и пароль.

Потом создаем новую форму с помощью конструктора. Внешне можно настраивать как угодно, но обязательно должно быть поле с выпадающим списком, текстовое поле для ввода пароля и кнопка подтверждения. Вот что получилось у меня

Чтобы форма открывалась сразу же при запуске базы данных, необходимо

Соответственно для поля выпадающего списка нужно сделать привязку «источника строк» к полям таблицы «Персонал» (ну или пользователи) и выбрать такие поля как ID (уникальный номер для каждого сотрудника), Имя (в нашем случае поле называется ФИО) и Должность

При желании можно также выставить сортировку по интересующему полю, либо по ID, тогда пользователи будут отображаться по мере поступления на работу, можно по Имени, а можно сделать сортировку по должностям.

Далее выделяем кнопку «ОК» в конструкторе и ищем поле в событиях «Нажатие кнопки», выбирая [Процедура обработки событий] переходим в Visual Basic и прописываем следующий сценарий для кнопки, который будет работать по клику:

PS код уже с комментариями относительно его содержания

Собственно как бы все, задумка реализована. Теперь чтобы создать действительно пользовательский интерфейс нужно создать актуальные и необходимые формы для каждой должности и вставить в необходимую часть кода указанного выше.

Не получается. Выдает ошибку, что операция не поддерживается для обьектов этого типа.

Проблемная строка:
.FindFirst («ID=» & Me.cboCurrentEmployee.Value)

Решение найдено!

в 5 строке добавляем dbOpenDynaSet

Private Sub cmdLogin_Click()
Dim rst As DAO.Recordset
Set rst = CurrentDb.OpenRecordset(«Сотрудники», dbOpenDynaSet )
With rst
If IsNull(Me.cboCurrentEmployee.Value) Then
MsgBox «Ошибка входа! Выберите пользователя.»
Exit Sub

Читать еще:  Как создать буклет в опен офис

О сайте

«Понемногу обо всем и все, о немногом» — именно такой слоган, по-видимому, является наилучшим определением тематики блога. Здесь пишу о том, что для меня интересно или важно, собственно, поэтому разброс тематик очень широк – от размышлений на философские темы и смешных историй, до конкретных инструкций или анализа событий.

Правда, помимо общих тематик, которые есть почти на каждом личном блоге, стоит выделить специализированные рубрики блога, которые будут полезны и интересны вебмастерам, программистам, дизайнерам, офисным работникам и пользователям ПК, желающим повысить свои навыки и уровень знаний. Подробнее о спецрубриках

Записки вебмастера – рубрика, которая призвана собрать коллекцию полезных скриптов и авторских решений, интересных особенностей и стандартов верстки, решение вопросов юзабилити и функционала, полезных ресурсов и программ.

Вопрос дизайна – это актуальные тренды, пошаговые и видео-уроки в фотошопе, необходимые плагины для фоторедакторов, векторные и PSD исходники, PNG иконки и GIF анимации, кириллические шрифты с засечками и без засечек, заливки (паттерны) и градиенты.

Мой ПК – каждая статья в этой рубрике направлена на то, чтобы узнать свой компьютер лучше. Здесь можно будет почитать о системных процессах и редактировании системного реестра, о способах защитить личные данные и компьютер в целом, о настройке локальной сети и подключениях к сети интернет, обзор ряда программ, которые делают работу за компьютером удобнее, быстрее и приятнее.

MS Office и VBA – эта рубрика содержит интересные решения, малоизвестные функции и возможности, надстройки и макросы, в общем, все то, что может сделать вашу работу в пакете программ MS Office (в первую очередь — Excel, Word, Access, PowerPoint) более эффективной.

Прочие офисные программы – рубрика о программах для ведения учета (конфигурации, платформы, внешние отчеты для 1C), сдачи отчетности (MeDoc, БестЗвіт) и статистического анализа данных (SPSS), также здесь можно найти обзоры программного обеспечения для работы с периферийными устройствами. Свернуть

Create Login Form: MS Access

How to Create Login Form for MS Access

Before creating a Login Form, you need to set up a table that can verify the login ID and password on the Login Form. The step of creating Login Form can be followed below:

1. Create a table tblSecurityLevel with a SecurityID and SecurityLevel field and add Admin for SecurityID =1 and User for SecurityID =2

2. Create a table tblWorker with a LoginID, Password and UserType fields. On my database, I setup a table tblWorker that has a UserType field links to a table tlbSecurityLevel. So the data type of a UserType field is number because it refers to the SecurityID (Autonumber) in the tblSecurityLevel table above. You can create the UserType field from the Lookup Wizard on the dropdown of Data Type column.

3. Create a Login Form from the Dialog form design. Then customize the form such as resize, change caption or name form.

4. Input two text boxes in the Login Form as txtUserName with label Login ID and txtPassword with label Password

5. Under On Click Event of the Cancel button, add the Embadded Macro with a QuitAccess command to exit the program or Access application

6. Under On Click Event of the OK button, add the VBA code below under the Event Procedure

How the code above works

  1. Verify if the Login ID and Password both are entered. If not, show a message to enter a Login ID or Password.
  2. If both Login ID and Password are entered, then verify with table tblWorker if they match.
  3. If matching, then check if the login user has a temp password = “password”, if yes then close Login Form and open form “frmworkerinfo” to change their password
  4. If a password is not “password” then verify if the login user is Admin or User.
  5. If is a Admin, then close Login Form and open a Navigation Form
  6. If is a user then close Login Form and open a Navigation Form, but disable the Admin button on the navigation bar (NavigationButton13.Enabled = False)

7. Set a Login Form as a display form when open a database program on the Quick Access Option:

8. On the Navigation Form, create two textboxes and name it as txtLogin and txtUser. If the Login ID and password are correct then will open Navigation Form and pass the Login ID to txtLogin and pass workername to txtUser with code below:

9. If you have a first of Navigation Form is refer to the Login Id or User, it will show the Login user right away unless you click on that tab to refresh data. In this HowTo, I put the BrowseTo command to refresh the first page of Navigation Form because I have a greeting message to the Login user show below:

Ссылка на основную публикацию
Adblock
detector