|
|
Добавить свой объект к подсистеме управления доступом (производительный) |
☑ |
|
0
G-P
12.08.21
✎
10:34
|
Пытаюсь подключить новый справочник "МойСправочник" к подсистеме управления доступом с ограничением доступа по пользователям (реквизит "Автор"). БСП 3.1.3.561. Результат отрицательный, при записи нового объекта ошибка доступа. Уже созданные объекты (под полными правами) и удовлетворяющие условию тоже не видны. Подскажите пожалуйста, что делаю не так, а то у меня закончились варианты.
Что делаю:
1) В определяемый тип "ВладелецЗначенийКлючейДоступа" добавил свой справочник
2) В определяемый тип "ВладелецЗначенийКлючейДоступаОбъект" добавил свой справочник
3) В общем модуле УправлениеДоступомПереопределяемый.ПриЗаполненииСписковСОграничениемДоступа добавил свой справочник
Процедура ПриЗаполненииСписковСОграничениемДоступа(Списки) Экспорт
Списки.Вставить(Метаданные.Справочники.МойСправочник, Истина);
КонецПроцедуры
4) В модуле менеджера своего справочника добавил процедуру
Процедура ПриЗаполненииОграниченияДоступа(Ограничение) Экспорт
Ограничение.Текст =
"РазрешитьЧтениеИзменение
|ГДЕ
| ЗначениеРазрешено(Автор)"
КонецПроцедуры
5) Создал роль. Скопировал шаблон РЛС "ДляОбъекта(ПолеОбъекта)" из роли "ИзменениеУчастниковГруппДоступа". На "Чтение", "Изменение" и "Добавление" для "ПрочиеПоля" добавил РЛС "#ДляОбъекта("")"
6) Обновил идентификаторы объектов метаданных и вспомогательные данные по подсистеме Управления доступом
7) Создал профиль и группу доступа со своей ролью и ограничением по пользователям "Все запрещены". Добавил в группу доступа пользователя для тестов
|
|
|
1
Жан Пердежон
12.08.21
✎
10:44
|
> при записи нового объекта ошибка доступа
> со своей ролью и ограничением по пользователям "Все запрещены"
Ну всё правильно работает же
|
|
|
2
G-P
12.08.21
✎
11:00
|
Для вида доступа "Пользователь" текущий пользователь доступен всегда.
|
|
|
3
G-P
12.08.21
✎
11:04
|
Но да, на это я тоже грешил, пробовал добавить разрешение пользователю, под которым тестирую. Ожидаемо не помогло (
|
|
|
4
G-P
16.08.21
✎
10:24
|
Удалось найти причину. До текущего момента использовался обычный, не производительный вариант работы. Его я включил пока только на тесте. А, видимо, из-за того, что в тестовой базе регламентные задания отключены, то и Первое обновление доступа не сработало, константа "ПервоеОбновлениеДоступаЗавершилось" была установлена в Ложь. Поэтому и РЛС не срабатывали, а для стандартного варианта работы я их не делал.
В итоге на форме "Настройки пользователей и прав" перешел по гиперссылке "Обновление доступа на уровне записей" и вручную запустил обновление доступа. После завершения фонового задания все заработало.
|
|
|
5
rozer76
16.08.21
✎
19:28
|
Познавательно
|
|