• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

isNames=True, isSummary=False. Как теперь быть?

S

Shandrik

Есть у меня настроечный документик, где хранятся списки юзеров, которым, ну, скажем, можно видеть кнопку. Юзеры набираются как поштучно, так и по подепартаментно, что чревато очень большими списком.
Дабы предупредить 32к решил сделать поле со списком несаммари, но чтобы оно всё-таки хранило имена:
Код:
with nd.ReplaceItemValue("fieldbad",HugeList)
.isNames=True
.isSummary=False
end with
После отработки кода пропал доступ к документу - во вьюшке я его вижу, но ни открыть, ни удалить, ни поля посмотреть не могу.
Как его починить или хотя бы удалить?
 

Gandliar

Lotus Team
16.02.2004
556
26
BIT
38
раньше с таким боролись так, зайти на сервер удаленным столом и запустить там лотус клиент под сервером (в серверном каталоге) зайти в базу и удалить к примеру

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

ToxaRat

Чёрный маг
Green Team
06.11.2007
3 332
42
BIT
0
Есть у меня настроечный документик, где хранятся списки юзеров, которым, ну, скажем, можно видеть кнопку.
а через лукап не правильнее было бы сделать?
или через квери опен сразу в нужных дисплейных полях выставить правильные флаги для отображения кнопки?
вот откуда вечное желание пихать всё в док?
 

NetWood

Lotus Team
17.04.2008
545
93
BIT
7
Юзеры набираются как поштучно, так и по подепартаментно, что чревато очень большими списком. Дабы предупредить 32к
По мне так это повод запилить доп. адрес бук с подгруппами основной, и контролировать их типа так:
Код:
        Set dbreg = s.GetDatabase("",profile.GetItemValue("NABFile")(0))
        Set dbreggroup = s.GetDatabase("",profile.GetItemValue("NABGroupFile")(0))
        Set viewreg=dbreg.GetView("($Users)")
...
addtogroup =  AddUserToGroup (username , profile.GetItemValue("NABGroup")(0))
Код:
Function AddUserToGroup (username As String , basegroup As String) As Boolean
 
    Dim ServerNum As String
    Dim saveGroupMainDoc As Integer
 
     'Get group view
    Set view = dbreggroup .GetView("Groups")
    Set docGroup = view.Getdocumentbykey(basegroup)
    If (docGroup Is Nothing) Then
        Set docGroup = dbreggroup.CreateDocument
        Call docGroup.ReplaceItemValue("Form", "Group")
        Call docGroup.ReplaceItemValue("ListName", basegroup)
        Call docGroup.ReplaceItemValue("Members",  basegroup & "#1")
        Call docGroup.ReplaceItemValue("GroupType", "0")
        Call docGroup.ReplaceItemValue("ListDescription", "Do not edit this group manually, it is updated via an agent.")
        Call docGroup.ComputeWithForm( False, False )
        Call docGroup.Save(False, False)
    End If
 
    'Adds a user to a group.
    Dim groupMainMembers As NotesItem
    Dim groupMainName As String
    Set groupMainMembers = docGroup.GetFirstItem( "Members" )
    groupMainName = docGroup.GetItemValue("ListName")(0)
     ' Find last subgroup entry in the members list
    Dim subGroup As String
    subGroup = ""
    Forall s In groupMainMembers.Values
        If Left$( s, Len( groupMainName  ) ) = groupMainName Then subGroup = s
    End Forall
     ' Open the subgroup, and keep trying until we find one with room
    Dim groupNum As Integer
    groupNum = 0
     ' Which subgroup was the last one
    If subGroup <> "" Then
        groupNum = Val( Right( subGroup, Len( subGroup ) - Len( groupMainName ) - 1 ) )
    Else
        groupNum = 1
        subGroup = groupMainName  & "#1"
    End If
 
    Dim groupSubDoc As NotesDocument
    Do
        Set groupSubDoc = view.GetDocumentByKey( subGroup )
        If groupSubDoc Is Nothing Then
            Set groupSubDoc = dbreggroup.CreateDocument
            Call groupSubDoc.ReplaceItemValue("Form", "Group")
            Call groupSubDoc.ReplaceItemValue("ListName", subGroup)
            Call groupSubDoc.ReplaceItemValue("GroupType", "0")
            Call groupSubDoc.ComputeWithForm( False, False )
               ' Add it to the main group if needed
            If Not groupMainMembers.Contains( subGroup ) Then
                Call groupMainMembers.AppendToTextList( subGroup )
                saveGroupMainDoc = True
            End If
        End If
          ' See if the subgroup still has room, if so, we've found our subgroup
        Dim groupSubMembers As NotesItem
        Set groupSubMembers = groupSubDoc.GetFirstItem("Members")
        If groupSubMembers Is Nothing Then ' notes administrator seems to delete the item if nomore elements
            Call groupSubDoc.ReplaceItemValue("Members","")
        Else
            If groupSubMembers.ValueLength < 14000 Then Exit Do
             ' If no room, try the next one
            groupNum = groupNum+1
            subGroup = groupMainName & "#" & groupNum
        End If
    Loop
 
     'add the user to the subgroup
    Call groupSubMembers.AppendtoTextList(username)
    Call groupSubDoc.Save( False, True )
 
    'Save main group if we just added a subgroup name
    If saveGroupMainDoc = True Then Call docGroup.Save(True,False)
 
    AddUserToGroup =True
 
End Function
Код не мой. При переполнении листа подгруппы, создается новая с префиксом #n и добавляется в основную группу. Ну а дальше показ кнопки рулить ролями, например.
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 924
608
BIT
129
есть еще DA с отдельными книгами для групп и юзеров
 
K

Kee_Keekkenen

.isSummary=False
Как его починить или хотя бы удалить?
если это было поле с доступом, то никак, по крайне мере я делал (в ходе экспериментов) такие божественные (неубиваемые) сущности с единственным полем доступа
 
30.05.2006
1 345
12
BIT
0
раньше с таким боролись так, зайти на сервер удаленным столом и запустить там лотус клиент под сервером (в серверном каталоге) зайти в базу и удалить к примеру

а может помогут права фулл аксесс администратора, надо пробовать
Помогут
 
K

Kee_Keekkenen

в моем случае это не помогало (ничто не помогало)
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!