|
автор: ???? (09.06.2006 в 00:00) |
|
| Два вопроса по безопасности.
1, Как узнать к какщй рабочей группе принадлежит данный пользователь?
2, Как програмно переключить пользователя, или временно дать ему другие права?
Спасибо. | |
|
| |
|
автор: ?.?. (30.11.-1 в 00:00) |
|
| Re: Имя рабочей группы? Перечисляет все группы текущего пользователя:
Dim gr As Group
For Each gr In DBEngine.Workspaces(0).Users(UserName).Groups
MsgBox gr.Name
Next gr
Переключить можно добавив ему нужную группу.
Но это можно сделать только в том случае, если юзер имеет права администратора, так как программа исполняется с его правами.
Поэтому нужно создать создать другой Workspace с правами администратора. Обычно это ваши права. И сделать все, что надо в этом сеансе работы. Права юзера переключать не придется.
Как создать другой Workspace? - читайте хелп по методу CreateWorkspace. | |
|
| |
|
автор: ?.?. (30.11.-1 в 00:00) |
|
| Дополнение: UserName = CurrentUser | |
|
| |
|
автор: ???? (30.11.-1 в 00:00) |
|
| Re[2]: Имя рабочей группы? Значит при выходе из программы нужно опять отбирать права (т.е. удалять из группы)?
И еще вопрос. Если я правильно понял, при старте нужно проверять к какому именно ФРГ подключен акссес, иначе пользователи смогут манипулировать своими правами. | |
|
| |
|
автор: ?.?. (30.11.-1 в 00:00) |
|
| Re[1]: Имя рабочей группы? Еще раз.
Лучше создать Workspace с правами администратора, не меняя прав юзера.
В этом Workspace сделайте то, что нужно, и закройте его.
Юзер останется в покое.
Если будете менять права юзеру, то при внезапном выключении компа они останутся измененными. Лучше этого не делать. То есть, обратное переназначение прав при завершении задачи может не сработать. | |
|
| |