0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 34
1

Использование Ролей Для Предоставление Доступа.

16.02.2014, 12:36. Показов 12232. Ответов 19
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здраствуйте уважаемые эксперты! У меня есть вопросы касающиеся использования ролей - Где можно посмотреть что запрещают и разрешают роли в дизайне бази....могут ли они запрещать удалять записи в базе...и где обычно их прописываю в коде при разработке бази...
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.02.2014, 12:36
Ответы с готовыми решениями:

Использование ролей
Всем добрый день! У меня стоит задача скрыть некоторые элементы дизайна от пользователей с ролью...

Предоставление прав доступа на папку
Коллеги, добрый день. Столкнулся с проблемой в предоставлении доступа к сетевой папке. Задача...

предоставление доступа в интернет к единственному узлу
Доброго времени суток друзья. Возник следующий вопрос: необходимо организовать на работе...

Предоставление права доступа только на чтение
Здравствуйте, подскажите как можно предоставить доступ только на чтение пользователю в Win Server...

19
0 / 0 / 0
Регистрация: 27.10.2011
Сообщений: 2,124
16.02.2014, 12:53 2
solomonec
Удалять, создавать, копировать, создавать папки, запускать агенты и так далее. Позволяет запись в ACL и галочки на разрешения.

Роли можно прописывать в поля Authors, Readers. Что в свою очередь дает владельцу роли: редактировать(Authors), видеть(Readers)
Через дизайнер можно запретить видимость отдельных элементов дизайна: формы, представления, агенты, пункты в навигаторе.
Можно настроить видимость отдельных полей, кнопок.
Можно использовать роли в коде, запрет того или иного действия.

В целом лучше почитать Help Domino Designer, плюс ветку FAQ данного форума + дополнительный материал в интернете.
0
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 34
16.02.2014, 13:15 3
Цитата Сообщение от savl
solomonec
Удалять, создавать, копировать, создавать папки, запускать агенты и так далее. Позволяет запись в ACL и галочки на разрешения.

Роли можно прописывать в поля Authors, Readers. Что в свою очередь дает владельцу роли: редактировать(Authors), видеть(Readers)
Через дизайнер можно запретить видимость отдельных элементов дизайна: формы, представления, агенты, пункты в навигаторе.
Можно настроить видимость отдельных полей, кнопок.
Можно использовать роли в коде, запрет того или иного действия.

В целом лучше почитать Help Domino Designer, плюс ветку FAQ данного форума + дополнительный материал в интернете.

Просто проблема состоит в том что галочки у групы на удаление документов(записей) сняты, но удалять они все равно могут...вот я и пытаюсь выяснить что и где смотреть.....
0
0 / 0 / 0
Регистрация: 27.10.2011
Сообщений: 2,124
16.02.2014, 13:37 4
solomonec
У групп полбеды, если человек прописан на прямую - такая запись приоритетна.
Как именно удаляют? Del на клаве + F9(аналогично правая кнопка мыши - удалить) или через кнопку в форме/представлении?

Если удаляют через кнопку "удалить" в базе, то скорее всего на ней агент или скрипт удаляющий документы.
Посмотри еще Database script событие Querydocumentdelete, порою там пишут.

Добавлено: А еще если человек входит только по группе, то свойства групп - складываются.
То есть он может быть в двух группах, одна прописана в базу с удалением, вторая без - пойдет сумма и будет удаление.
0
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 34
16.02.2014, 15:15 5
Цитата Сообщение от savl
solomonec
У групп полбеды, если человек прописан на прямую - такая запись приоритетна.
Как именно удаляют? Del на клаве + F9(аналогично правая кнопка мыши - удалить) или через кнопку в форме/представлении?

Если удаляют через кнопку "удалить" в базе, то скорее всего на ней агент или скрипт удаляющий документы.
Посмотри еще Database script событие Querydocumentdelete, порою там пишут.

Добавлено: А еще если человек входит только по группе, то свойства групп - складываются.
То есть он может быть в двух группах, одна прописана в базу с удалением, вторая без - пойдет сумма и будет удаление.
Удаляют через Del на клаве + F9(аналогично правая кнопка мыши - удалить)
0
0 / 0 / 0
Регистрация: 27.10.2011
Сообщений: 2,124
16.02.2014, 15:21 6
Тогда должна быть галочка, так или иначе она есть, либо все же скрипт от имени админа или сервера есть на Querydocumentdelete
0
0 / 0 / 0
Регистрация: 13.06.2009
Сообщений: 78
16.02.2014, 16:31 7
может в доступе по дефолту стоит птычко на удаление
0
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 34
16.02.2014, 17:58 8
Цитата Сообщение от afest
может в доступе по дефолту стоит птычко на удаление
Да нет не стоит там галочка....
0
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 34
16.02.2014, 18:41 9
Цитата Сообщение от savl
Тогда должна быть галочка, так или иначе она есть, либо все же скрипт от имени админа или сервера есть на Querydocumentdelete
Посмотрел что пользователи базы в других группах не состоят, галочки с удалением у группы убраны....Посмотрел в Querydocumentdelete и там вот такой код

LotusScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
Sub Querydocumentdelete(Source As Notesuidatabase, Continue As Variant)
Dim doc As NotesDocument
Dim y As Long
Continue = True
If( Source.Documents.Count > 0 ) Then
For y = Source.Documents.Count To 1 Step -1
Set doc = Source.Documents.GetNthDocument(y)
If Not( doc.Hasitem("$Conflict") ) Then
If( emsg Is Nothyng ) Then Set emsg = New esamsg(Nothyng)
---------------------------------------------------------------------------------------------
put here your specific code to control witch document can be deleted
---------------------------------------------------------------------------------------------
If( doc.Form(0) = "document" ) Then
If( doc.Status(0) <> "1" ) Then
vEval = Evaluate(|@IsNotMember("[eAppAdmin]";@UserRoles)|)
If( vEval(0) ) Then
Continue = False
Messagebox emsg.getstring(eMSG_COMMON,eMSG_DELNOTAUTHORIZED,Null,Nothyng), 16, emsg.getstring(eMSG_COMMON,eMSG_TITLE,Null,Nothyng)
Exit For
End If
End If
Elseif( doc.Form(0) = "eannextask" ) Then
If( doc.Status(0) = "1" Or doc.Status(0) = "2" ) Then
vEval = Evaluate(|@IsNotMember("[eAppAdmin]";@UserRoles)|)
If( vEval(0) ) Then
Continue = False
Messagebox emsg.getstring(eMSG_COMMON,eMSG_DELNOTAUTHORIZED,Null,Nothyng), 16, emsg.getstring(eMSG_COMMON,eMSG_TITLE,Null,Nothyng)
Exit For
End If
End If
Elseif( doc.Form(0) = "eannexapproval" ) Then
If( doc.Status(0) = "0" Or doc.Status(0) = "1" ) Then
vEval = Evaluate(|@IsNotMember("[eAppAdmin]";@UserRoles)|)
If( vEval(0) ) Then
Continue = False
Messagebox emsg.getstring(eMSG_COMMON,eMSG_DELNOTAUTHORIZED,Null,Nothyng), 16, emsg.getstring(eMSG_COMMON,eMSG_TITLE,Null,Nothyng)
Exit For
End If
End If
End If
---------------------------------------------------------------------------------------------
end of your specifi code
---------------------------------------------------------------------------------------------
End If
Next
If( Continue ) Then
Call eevents.Querydocumentdelete(Source,Continue)
End If
End If
End Sub
Но здесь я вижу разве что месседжбокс который срабатывает для всех кто не состоит в роли eAppAdmin.....а у меня в ней никого и нету...
0
0 / 0 / 0
Регистрация: 27.10.2011
Сообщений: 2,124
16.02.2014, 19:00 10
Воооотт, по коду видно что:

Если форма "document", то:
1. можно удалять если поле Status = "1"
2. иначе если есть роль [eAppAdmin]

Если форма "eannextask" то:
1. можно удалять если поле Status не содержит в себе "1" или "2"
2. иначе если есть роль [eAppAdmin]

Если форма "eannexapproval" то:
1. можно удалять если поле Status не содержит в себе "0" или "1"
2. иначе если есть роль [eAppAdmin]
0
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 34
16.02.2014, 20:16 11
Цитата Сообщение от savl
Воооотт, по коду видно что:

Если форма "document", то:
1. можно удалять если поле Status = "1"
2. иначе если есть роль [eAppAdmin]

Если форма "eannextask" то:
1. можно удалять если поле Status не содержит в себе "1" или "2"
2. иначе если есть роль [eAppAdmin]

Если форма "eannexapproval" то:
1. можно удалять если поле Status не содержит в себе "0" или "1"
2. иначе если есть роль [eAppAdmin]
Да верно, однако у меня форма document не та которую удаляют через view, a удаляют document1, document2, document3.....а сработает ли финт если добавить код для трех документов...чтобы скажем если пользователи не являются представителями определенной роли то записи удалить нельзя...?
0
0 / 0 / 0
Регистрация: 27.10.2011
Сообщений: 2,124
17.02.2014, 09:54 12
solomonec
Сработает, если добавить в условие эти формы. Сейчас их нет, поэтому и можно удалить.
Как только внесете в код - необходимо чтобы пользователи прервали сессии с базой, тогда начнет действовать.
0
0 / 0 / 0
Регистрация: 13.06.2009
Сообщений: 78
17.02.2014, 12:52 13
Replace design поможет (если нет, то доки пройтись ComputeWithForm)... ну и сессии нужно будет перегрузить
бЗЫ: реплейс иль агент с ComputeWithForm делать только при полностью всех закрытых сессиях!!! иначе доки конфликтами станут иль вообще пропадут, всяко бывает
0
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
17.02.2014, 13:21 14
граблеходцам на заметку...
если делать роли в дизайне (в св-вах формы) - получим поля $Readers апдейт которых может проистекать не совсем гладко
можно добавить свои ридерс/авторс и в них нахрдкодить дефолтные роли, сделать их компутед (хотя это и не очень красиво)
тогда после апдейта дизайна - просто запустить @Command([ToolsRefreshSelectedDocs]) (вынести на смартайкон)
можно, попутно, снести редерс - если они перекрывают права
в любом случае, до всего процесса - бекап и вынос его за пределы компа, с пометкой времени и действия
0
0 / 0 / 0
Регистрация: 27.10.2011
Сообщений: 2,124
17.02.2014, 13:34 15
afest
lmike
При всем уважении, коллеги: Вопрос был в том: почему документы по формам "Document1", "Document2" удаляются, а под другим нет?
Ответ был в коде Querydocumentdelete, где жестко прописаны формы,роли и условия.
Как я понял, автор вставит туда условия для своих форм и решит проблему до появления новой формы.
Решение не очень, но видимо устраивает.
Сам предпочитаю ставить документам статус или флаг "Удален" и не сносить из базы некоторое время.
0
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
17.02.2014, 14:37 16
savl да, я был невнимателен к постановке вопроса и отвечал на несколько др. тему
но вопрошающий может нарваться и на собственный код, кот. будет под юзером удалять доки (а правами не ограничен)
0
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 34
18.02.2014, 11:25 17
Цитата Сообщение от savl
afest
lmike
При всем уважении, коллеги: Вопрос был в том: почему документы по формам "Document1", "Document2" удаляются, а под другим нет?
Ответ был в коде Querydocumentdelete, где жестко прописаны формы,роли и условия.
Как я понял, автор вставит туда условия для своих форм и решит проблему до появления новой формы.
Решение не очень, но видимо устраивает.
Сам предпочитаю ставить документам статус или флаг "Удален" и не сносить из базы некоторое время.
Так у меня они сразу не удаляются а помичаются и видны в треше....чтобы потом можно было вручную удалить с концами...
0
0 / 0 / 0
Регистрация: 27.10.2011
Сообщений: 2,124
18.02.2014, 11:36 18
вьюха для удаленных $Trash?
Тогда по факту они удаляются, просто включено Soft Deletion, там же срок хранения еще выставляется 48 дней, кажется
0
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 34
18.02.2014, 12:36 19
Цитата Сообщение от savl
вьюха для удаленных $Trash?
Тогда по факту они удаляются, просто включено Soft Deletion, там же срок хранения еще выставляется 48 дней, кажется
Да именно $Trash, но интересно то что Soft Deletion выключена.
0
0 / 0 / 0
Регистрация: 13.06.2009
Сообщений: 78
18.02.2014, 16:57 20
Soft Deletion выключена

может на серваке (домино) стоят хитрые настройки?
0
18.02.2014, 16:57
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.02.2014, 16:57
Помогаю со студенческими работами здесь

Объединение двух сетей и предоставление доступа в интернет
Добрый день. Второй день ковыряюсь с cisco успел уже убить конфиг загрузочный, забыть пароли и...

Предоставление доступа к игровому серверу через статический IP
Помогите тупому)) Я не специалист в сетях. Арендовал static IP. Запустил игровой сервер: &quot;например...

Предоставление доступа к расшаренной папке из другой подсети
В windows server 2008 есть 2 адаптера, подключенные к разным сетям. Как сделать что бы был доступ к...

Samsung ml-1660 предоставление общего доступа по сети
При попытке расшарить его и установке галок в ответ на нажатие кнопок &quot;применить&quot; или &quot;ок&quot; говорит:


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru