• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Редактирование только определенных полей

  • Автор темы ghostbuster
  • Дата начала
Статус
Закрыто для дальнейших ответов.
G

ghostbuster

Подскажите пожалуйста!
Как сделать так, чтобы в уже сохраненной форме, при последующем открытии, для редактирования были доступны, только определенные поля, а не весь документ? Документ редактируется одним и темже человеком. Причем недоступные для редактирования поля, должны отображаться на форме.
 
M

morpheus

испольщуйте подформы(subforms) с вычисляемыми полями, или зделать изменения полей через кнопки (запрос вида "введите значение")
 
F

Fossil Code

Как сделать так, чтобы в уже сохраненной форме, при последующем открытии, для редактирования были доступны, только определенные поля, а не весь документ? Документ редактируется одним и темже человеком. Причем недоступные для редактирования поля, должны отображаться на форме.

Вариант1: использовать свойство поля computed when composed

Вариант2: поля "закрываются" формулой (@IsNewDoc), которая скрывает их, если форма не только что создана (уже сохранялась). Для отображения значения скрытого поля используется поле computed for display.
 
G

ghostbuster

Спасибо большое, но это не то, что нужно...мне так кажется
у поля есть свойство Input Enabled из доки следует:
"The input enabled formula enables or disable the field for input. If Input Enabled evaluates to O, data cannot be added to the field. If it evaluates to anything else, data can be added to the field"
пробовал по всякому
@If(!@IsNewDoc;"0";"1")
@If(!@IsNewDoc;0;1)
и даже
@If(!@IsNewDoc;O;1) :)
но почему это не работает ? :)
 
G

ghostbuster

Хм.. вариант № 2 действительно помог, спасибо большое...
но все равно не ясно, зачем Input Enabled ?
 
O

oshmianski

Для: ghostbuster
просто напиши в Input Enabled @IsNewDoc. При создании дока будет доступно, после сохранения И ЗАКРЫТИЯ нет.
 
M

Mihal

Есть ещё секции с управляемым доступом. Удобнее тем, что скрытие и дублирование инфы в компутед-текстах делать не надо.
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
<!--QuoteBegin-ghostbuster+30:11:2006, 10:09 -->
<span class="vbquote">(ghostbuster @ 30:11:2006, 10:09 )</span><!--QuoteEBegin-->но почему это не работает ?
[snapback]49303" rel="nofollow" target="_blank[/snapback]​
[/quote]
В хелпе же написано.
Input Enabled only works when the field style is set to Native OS.
 
30.05.2006
1 345
12
BIT
0
А еще у item-ов есть свойство PROTECTED. Позволяет по-взрослому, не интерфейсными бантиками, защитить поля
 
E

Elena Nefedova

Для: Constantin A Chervonenko
PROTECTED только от авторов защищает.
А что делать, когда едитор дров наломает?
Раздел с управляемым доступом как-то надежнее. Я люблю тип computed for display.
 
30.05.2006
1 345
12
BIT
0
Для: Constantin A Chervonenko
PROTECTED только от авторов защищает.
А что делать, когда едитор дров наломает?
Раздел с управляемым доступом как-то надежнее. Я люблю тип computed for display.
Ага.. И поля AUTHORS тоже только от авторов защищают. А от Манагера с ФуллАдмином и READERS не защищают. Что делать если манагер дров наломает?
Не... Если данные надо ДЕЙСТВИТЕЛЬНО защитить (а не слегка затруднить порчу), то: грамотно настраиваем ACL (Грубо говоря -Default- = Author), документы разруливаем READERS+AUTHORS, поля - PROTECTED и шифрами
 
E

Elena Nefedova

Для: Constantin A Chervonenko
Эх, Константин! Если б все так просто было...
В принципе, идеологически Вы правы. Так вначале и задумывалось.
А потом началось: надо дать права на это поле всем пользователям, имеющим роль [Крутая роль], а на то поле - [Всмятку] и [Вмешочек]
Ну никак по-вашему не получается...
 
30.05.2006
1 345
12
BIT
0
надо дать права на это поле всем пользователям, имеющим роль [Крутая роль], а на то поле - [Всмятку] и [Вмешочек]
Ну никак по-вашему не получается...
Ааа.. Тут 2 соображения:
1.Похоже данные сгруппированы неудачно. Но если редизайн - непозволителен, то
2.Любимый прием: все поля закрыты на редактирование системными средствами. А изменения вносятся фоновым агентом по запросам юзеров
 
F

Fossil Code

Ааа.. Тут 2 соображения:
1.Похоже данные сгруппированы неудачно. Но если редизайн - непозволителен, то
2.Любимый прием: все поля закрыты на редактирование системными средствами. А изменения вносятся фоновым агентом по запросам юзеров

Можно не агентом, а DialogBox'ом, а вызывается он кнопкой, где анализируется роль пользователя и чего еще там будет угодно.
 
M

morpheus

<!--QuoteBegin-Fossil Code+1:12:2006, 09:50 -->
<span class="vbquote">(Fossil Code @ 1:12:2006, 09:50 )</span><!--QuoteEBegin-->Можно не агентом, а DialogBox'ом, а вызывается он кнопкой, где анализируется роль пользователя и чего еще там будет угодно.
[snapback]49458" rel="nofollow" target="_blank[/snapback]​
[/quote]как я и указал в начале :)

Согласен... заодно такое момент даст пользователю понят что он НЕМОЖЕТ вносить инфу :)
.. а то они любят думать шо им всё можно, просто програма глючит и не показывает кнопку/ поле :D
 
30.05.2006
1 345
12
BIT
0
Можно не агентом, а DialogBox'ом, а вызывается он кнопкой, где анализируется роль пользователя и чего еще там будет угодно.
Это не защита. У Вас юзер должен иметь права на редактирование. Просто редактируете через др.форму. Бантик. Сломаю за 5 минут
Агент-же - фоновый, работает на сервере, подписан манагером базы
 
L

LuMee

Любимый прием: все поля закрыты на редактирование системными средствами. А изменения вносятся фоновым агентом по запросам юзеров
Радикальный прием :D Единственное, что если требуется таким образом защитить всего одно-два поля из десятка, получается как-то громоздко...
А как можно закрыть отдельные поля? Добавить поле Authors в документ? Но ведь тогда его вроде нельзя перевести в режим редактирования при открытии какой-либо формой... Или нет? Конечно, можно и тут извернутся: создать документ-копию, доступную для редактирования, сохранить, отдать агенту, который некоторые поля перетащит в "оригинал"... только как-то сложновато :p
 
30.05.2006
1 345
12
BIT
0
Радикальный прием :) Единственное, что если требуется таким образом защитить всего одно-два поля из десятка, получается как-то громоздко...
А как можно закрыть отдельные поля? Добавить поле Authors в документ? Но ведь тогда его вроде нельзя перевести в режим редактирования при открытии какой-либо формой... Или нет? Конечно, можно и тут извернутся: создать документ-копию, доступную для редактирования, сохранить, отдать агенту, который некоторые поля перетащит в "оригинал"... только как-то сложновато :)
Задачкой определяется... Сохранность этих полей действительно так важна для целостности документа? Тогда и защита должна быть серьезной. Возможно стоит развести данные с разной доступностью по разным документам и только отображать их на одной форме. Возможно достаточно прикрыть их интерфейсным бантиком (как предлагает Елена), но проконтроллировать целостность эл.подписью
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

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