Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Авторизация и создание пользователей / 25 сообщений из 28, страница 1 из 2
01.05.2010, 12:05
    #36608434
Marianna-sec
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Авторизация и создание пользователей
Здравствуйте, прошу помочь разобраться со следующей проблемой.

При первом запуске программа должна просить ввести пароль администратора (логин которого будет, например, "Admin" всегда). Администратор при входе в систему будет иметь возможность создавать других пользователей c логинами и паролями. Например, создаст пользователя "Вася".
И при последующих запусках программы будет появляться окно для ввода логина и пароля, куда в поле логин будут соответственно писать "Вася" или "Admin".
Хотелось бы, конечно, чтобы имена "Вася" или "Admin" были доступны по CurrentUser.

Я правда не совсем понимаю, что хочу, но в общем, наверное, чтобы локально создавался mdw файл со всеми пользователями, который был бы привязан только к текущему mdb файлу. Admin соответственно в группе Admins. Пользователь Вася в группе USers.
А администратор мог через пользовательский интерфейс файла mdb работать с файлом mdw, добавлять и удалять пользователей и пароли.

Спасибо.
...
Рейтинг: 0 / 0
01.05.2010, 15:42
    #36608514
Marianna-sec
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Авторизация и создание пользователей
Неужели никто не сталкивался с данной необходимостью? :(
...
Рейтинг: 0 / 0
01.05.2010, 16:07
    #36608528
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Авторизация и создание пользователей
Marianna-secЯ правда не совсем понимаю, что хочу, но в общем, наверное, чтобы локально создавался mdw файл со всеми пользователями, который был бы привязан только к текущему mdb файлу.
Создать mdw программно, наверно, можно. Но указывать его все равно надо вручную при запуске базы.

Всё остальное - вполне реально и естественно.
...
Рейтинг: 0 / 0
01.05.2010, 16:20
    #36608534
Marianna-sec
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Авторизация и создание пользователей
По данному вопросу нашла в справке только
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
'This example creates a new workgroup file in the specified directory with the specified user information. If a workgroup file for this user already exists in the specified directory, Microsoft Access replaces it.

Application.CreateNewWorkgroupFile _
    Path:="C:\Documents and Settings\Wendy Vasse" _
    & "\Application Data\Microsoft\Access", _
    Name:="Wendy Vasse", _
    Company:="Microsoft", _
    Replace:=True

и вот это

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
'The following example sets the default workgroup file to the file system.mdw in the directory C:\Documents and Settings\Wendy Vasse\Application Data\Microsoft\Access.

Application.SetDefaultWorkgroupFile _
    Path:="C:\Documents and Settings\Wendy Vasse\" _
    & "Application Data\Microsoft\Access\system.mdw"
		


но как работать с этим mdw? как создавать пользователей и пароли, добавлять их в группу,я, к сожалению, так и не нашла :(
...
Рейтинг: 0 / 0
01.05.2010, 16:52
    #36608552
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Авторизация и создание пользователей
Вот что я нашел у себя:

создать юзера:
Set u = DBEngine(0).CreateUser(sUser, <какой-нибудь уникальный стринг>)
u.Password = sPassword
DBEngine(0).Users.Append u

удалить юзера:
DBEngine(0).Users.Delete sUser

занести юзера в группу:
Set u = DBEngine(0).Users(sUser)
u.Groups.Append u.CreateGroup(sGroup)

удалить юзера из группы:
Set u = DBEngine(0).Users(sUser)
u.Groups.Delete sGroup
...
Рейтинг: 0 / 0
01.05.2010, 17:01
    #36608558
Marianna-sec
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Авторизация и создание пользователей
а где при этом будут храниться вводимые данные?
...
Рейтинг: 0 / 0
01.05.2010, 18:20
    #36608594
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Авторизация и создание пользователей
Какие данные? Данные - в таблицах.

Или Вы имеете в виду имя юзера и имя группы? Я-то думал, что у Вас интерфейс уже придуман и не хватает только того синтаксиса, который я привел. Если Вы еще не придумали, как будете вводить имя юзера, то мы тут вряд ли поможем. Здесь никто не знает Вашу задачу лучше, чем Вы сами.
...
Рейтинг: 0 / 0
12.05.2010, 20:15
    #36624175
Marianna-sec
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Авторизация и создание пользователей
Извиняюсь за долгую паузу. вопрос по-прежнему остается для меня актуальным.
формы для ввода имени пользователя и пароля я разрабатывать не хочу, хочу использовать стандартные аксесовские, работающие с mdw файлом, прикрепленным к моему mdb-приложению.

меня интересует как реализовать процесс создания/удаления пользователей (см. картинку).
то есть как получить весь список пользователей для начала.
Владимир Саныч, то, что вы написали про создание и удаление пользователей и групп, относится mdw файлу или же где-то в ином месте хранится? я, к сожалению, не в курсе принципов работы :(
Это важно, поскольку надо решить, самостоятельно ли создавать форму для ввода пароля.
...
Рейтинг: 0 / 0
13.05.2010, 03:27
    #36624609
alvk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Авторизация и создание пользователей
Marianna-sec,

Чего-то не в ту степь вы полезли. Где здесь mdw? Как создадите mdw, так сразу и сможете смотреть, добавлять, удалять и т.д. пользователей. В справке всё есть.
...
Рейтинг: 0 / 0
13.05.2010, 10:06
    #36624887
Ёжик`
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Авторизация и создание пользователей
В аксе все есть встроенное
...
Рейтинг: 0 / 0
13.05.2010, 12:16
    #36625311
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Авторизация и создание пользователей
Marianna-secто есть как получить весь список пользователей для начала.
DBEngine(0).Users

Marianna-secВладимир Саныч, то, что вы написали про создание и удаление пользователей и групп, относится mdw файлу или же где-то в ином месте хранится?
По-моему, именно в mdw.
...
Рейтинг: 0 / 0
14.05.2010, 00:01
    #36626970
Marianna-sec
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Авторизация и создание пользователей
Ёжик`,
к сожалению, пользоваться стандартными средствами из меню сервис я не могу, потому что в программе свое главное меню вместо меню "Файл". Если вы подскажете, как можно эти окна программно вызвать, это будет, конечно, наилучшим, вариантом.
а пока, создав пользователя через DbEngine, наткнулась на неприятную вещь :(
создаю пользователя
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Private Sub UserDefinition()
Dim wrkDefault As Workspace
Set wrkDefault = DBEngine.Workspaces( 0 )
Dim u As Variant
Set u = wrkDefault.CreateUser("Qwe")
u.PID = "AAA123123"
u.Password = "qwe"
wrkDefault.Users.Append u
Set usrTemp = wrkDefault.Groups("Admins").CreateUser("Qwe")
wrkDefault.Groups("Admins").Users.Append usrTemp
Set usrTemp = wrkDefault.Groups("Users").CreateUser("Qwe")
wrkDefault.Groups("Users").Users.Append usrTemp
End Sub

перезапускаю программу, захожу под пользователем Qwe, появляется ошибка (см. картинку)
...
Рейтинг: 0 / 0
14.05.2010, 00:03
    #36626975
Marianna-sec
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Авторизация и создание пользователей
видимо, помимо определения в группу, нужно еще какие-то права раздать, подскажите пожалуйста, как сделать права все на все? :)
...
Рейтинг: 0 / 0
14.05.2010, 00:11
    #36626993
Ёжик`
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Авторизация и создание пользователей
1
Просто открыть акцес, без базы.
Создать новый файл рабочих групп.
Создать ярлык на запуск акцеса с использованием нового файла рабочих групп
Просто открыть акцес с созданного ярлыка, без базы.
Запаролить admina.
Создать новую базу.
Импортировать все объекты из старой базы (не забыть про меню и панели).
Создать новых пользователей с паролями, группы, распределить пассажиров согласно купленных билетов.

2
Открыть базу под админом с шифтом
Создать группы, пользователей, распределить, наделить правами, разрешить группам использовать раннее созданные объекты БД - таблицы, макросы, прочее.
Перелогиниться.
...
Рейтинг: 0 / 0
14.05.2010, 00:36
    #36627016
Marianna-sec
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Авторизация и создание пользователей
Ёжик`,
mdw есть, остается только программно писать пользователей туда. Заранее создать пользователей не получится.
например, Admin имеет возможность создавать и удалять пользователей через интерфейс, будь то мой интерфейс, будь то аксесовский, что вы привели.
...
Рейтинг: 0 / 0
14.05.2010, 03:35
    #36627089
alvk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Авторизация и создание пользователей
Marianna-sec,

У вас нет пакета MS Office на компьютере? Нет Акцесса? Что тут про "неполучится"?
...
Рейтинг: 0 / 0
14.05.2010, 20:59
    #36629402
Marianna-sec
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Авторизация и создание пользователей
не получится, потому что я не знаю, каких пользователей будут создавать люди, использующие мою программу. Окно программы (см рис.)
под меню "Управление пользователями" должен быть либо мой интерфейс, либо стандартный аксессовский. подскажите, мне, пожалуйста, по вопросу создания пользователей (листинг выше) и про то, есть ли возможность открывать из моей программы стандартное аксессовское окно для управления пользователями?
заранее спасибо
...
Рейтинг: 0 / 0
14.05.2010, 21:53
    #36629449
Marianna-sec
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Авторизация и создание пользователей
Неужели никто подобную глупость никогда не реализовывал? :) обидно даже как-то :(
...
Рейтинг: 0 / 0
14.05.2010, 23:17
    #36629520
Ёжик`
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Авторизация и создание пользователей
Marianna-secесть ли возможность открывать из моей программы стандартное аксессовское окно для управления пользователями?
Конечно можно.
Открыть базу с шифтом (если нет защиты от шифта), перейти в режим настройки меню, мышой перетащить стандартные менюхи в свое меню.
...
Рейтинг: 0 / 0
15.05.2010, 01:47
    #36629627
Marianna-sec
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Авторизация и создание пользователей
Ёжик`,
да, действительно, ответ лежал на поверхности Спасибо, Вам огромное. (получилось так см. рис)
в принципе это подходит до тех пор пока кто-нибудь не догадается удалить панель инструментов :(
меню генерится в AutoExec, интересно, можно как-нибудь сгенерить эти кнопки?
...
Рейтинг: 0 / 0
15.05.2010, 01:54
    #36629632
Ёжик`
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Авторизация и создание пользователей
Генерить мень - поиск по CommandBars\
У меня (и не только) меню пользовательское меню генериться по таблице.
Для админа меню не генерится, оно уже ранее создано, просто включается, а для других - нет.


Потом насчет - "кто нибудь напортачит" у каждого свой файл оболочки, который еще и закачивается при старте или обновлении версии. Соответственно портачить можно при наличиии прав и только до перезапуска программы.
...
Рейтинг: 0 / 0
15.05.2010, 15:54
    #36629962
Marianna-sec
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Авторизация и создание пользователей
Ёжик`,
Спасибо, все получилось, чтобы перетащить кнопки из стандартного меню, необходимо использовать их ID при создании
Код: plaintext
1.
2.
3.
4.
    Set cbr = cbrMain.Controls.Add( 10 , , , , True)
    cbr.Caption = "Дополнительно"
    Set c = cbr.Controls.Add(,  1816 , , , True) '1816 - id кнопки "Пользователи и группы"
    Set c = cbr.Controls.Add(,  572 , , , True) '572 - id кнопки "Разрешения"

еще интересная функция позволяет копировать целые разделы меню из стандартного в собственное
Код: plaintext
1.
2.
3.
    Dim MyControl As Object
    Set MyControl = CommandBars("Menu Bar").Controls( 14 ) ' 14-й контрол - меню "Сервис"
    MyControl.Copy Bar:=cbrMain, Before:= 4  'cbrMain - собственное меню

только одно непонятно... действительно только сам пользователь может поменять свой пароль? :) или как можно создать пользователя стандартными средствами Аксес да еще и с паролем :(
...
Рейтинг: 0 / 0
15.05.2010, 16:14
    #36629975
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Авторизация и создание пользователей
Marianna-secили как можно создать пользователя стандартными средствами Аксес да еще и с паролем :(
Давно было отвечено.
Владимир Санычсоздать юзера:
Set u = DBEngine(0).CreateUser(sUser, <какой-нибудь уникальный стринг>)
u.Password = sPassword
DBEngine(0).Users.Append u
...
Рейтинг: 0 / 0
15.05.2010, 17:02
    #36630008
Marianna-sec
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Авторизация и создание пользователей
Не, это если я буду сама создавать интерфейс для создания пользователей.
остановилась на стандартных средствах аксес (см. Рис), можно ли при помощи них как-нибудь Admin'у создать пользователя с паролем?
или я, наверное, что-то недопонимаю :(
...
Рейтинг: 0 / 0
15.05.2010, 17:32
    #36630022
Marianna-sec
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Авторизация и создание пользователей
И еще один последний вопрос... хотя уже не в тему.
в общем по аналогии хотела в меню "Дополнительно" пихнуть кнопку "Резервная копия базы данных...", у нее id 10003.
в код генерации меню пихаю строку по аналогии
Код: plaintext
1.
Set c = cbr.Controls.Add(,  10003 , , , True) '10003 кнопки "Резервная копия БД"
появляется ошибка см. рис
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Авторизация и создание пользователей / 25 сообщений из 28, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]