Проблема с Acl ...

DNT

Постоялец форума
Lotus team
12.10.2005
590
2
#1
Создаю роль (Dim acl as NotesACL):

...
Call acl.AddRole( inputdoc.RoleName(0) )
...

Назначаю роль пользователю (Dim user as NotesACLEntry):

...
user.EnableRole( inputdoc.RoleName(0) )
...

Сохраняю:
...
Call acl.Save
...

Результат: допустим создал роль [Role1], себе ее назначил. В документе в поле реадерс записал [Role1].
Сохраняю документ - в БД его НЕ ВИЖУ :( . Решается проблема если зайти в ТУД и руками убрать себе роль [Role1], сохранить и ещё раз назначить. Теперь вижу документ.

Что делаю не так? Или это баг?

Спасибо.
 
R

root

#2
Код:
	Dim ss As New NotesSession
Dim db As Notesdatabase
Dim acl As NotesACL
Dim entry As NotesACLEntry
Set db = ss.currentDatabase
Set acl= db.acl
Call acl.addrole("Example")
Call acl.save 
Set entry = acl.GetEntry( "Aleks Guest/stp" )
Call entry.EnableRole( "Example" )
Call acl.Save
У меня так работает
 
M

Mihal

#3
<!--QuoteBegin-DNT+8:09:2007, 12:24 -->
<span class="vbquote">(DNT @ 8:09:2007, 12:24 )</span><!--QuoteEBegin-->Результат: допустим создал роль [Role1], себе ее назначил. В документе в поле реадерс записал [Role1].
Сохраняю документ - в БД его НЕ ВИЖУ . Решается проблема если зайти в ТУД и руками убрать себе роль [Role1], сохранить и ещё раз назначить. Теперь вижу документ.
[snapback]77551" rel="nofollow" target="_blank[/snapback]​
[/quote]

А выйти-зайти?
 

DNT

Постоялец форума
Lotus team
12.10.2005
590
2
#4
Для: Mihal

Выйти-зайти не помогает. Интересно что если я создаю роль и тут-же присваюваю её себе - я не вижу созданного документа. Хотя если открыть database - access control, то галка напротив этой созданной роли стоит. Я её снимаю - жму ОК - захожу заново - ставлю : после этого все в порядке.

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

Непонятно как то.
 
M

Mihal

#5
Дык, совсем выйти-зайти. Из лотуса. Эта ж тварюка кеширует всё подряд. Без усяких угрызений совести.
 
30.05.2006
1 345
11
#6
Дык, совсем выйти-зайти. Из лотуса. Эта ж тварюка кеширует всё подряд. Без усяких угрызений совести.
Не из Лотуса. Достаточно закрыть данную базу (совсем! А то дизайнер в фоне интересную свинью подложит)
 
R

Ronchik

#7
<!--QuoteBegin-Mihal+10:09:2007, 12:22 -->
<span class="vbquote">(Mihal @ 10:09:2007, 12:22 )</span><!--QuoteEBegin-->Дык, совсем выйти-зайти. Из лотуса. Эта ж тварюка кеширует всё подряд. Без усяких угрызений совести.
[snapback]77655" rel="nofollow" target="_blank[/snapback]​
[/quote]
дык все зависит от кода и версии клиента....может и не кешировать :)
 

DNT

Постоялец форума
Lotus team
12.10.2005
590
2
#8
мля ... все банально...

Для того чтоб сработало надо просто переоткрыть базу, при этом выйти из Дизайнера. Если дизайнер открыт оно как-то кешируеццо.

p/s/ спасибо всем.
 
G

Guest

#9
Просто Лотусу все равно кто обращается к БД. Он видит БД открыта, хоть и дизайнером, от этого и все беды...