Права доступа

Переведите всю Base или отдельные таблицы, поля, записи и представления в режим только для чтения. Это удобно для отчётов или для разрешения изменений лишь в части данных.

Перед использованием этих API зарегистрируйте плагин Bases и импортируйте @univerjs-pro/bases/facade.

Режим только для чтения для Base

TypeScript
const base = univerAPI.getActiveBase()if (!base) throw new Error('Open a Base first')await base.getPermission().setReadOnly()console.log(base.getPermission().canEdit()) // falseawait base.getPermission().setEditable()

Ограничение отдельного объекта

Например, ограничьте одну таблицу:

TypeScript
const table = base.getTables()[0]if (!table) throw new Error('Create a table first')await table.getPermission().setReadOnly()await table.getPermission().setEditable()

Поля, записи и представления также предоставляют getPermission(), как и панели мониторинга и сводные представления при регистрации их плагина. Разрешение изменений объекта не отменяет ограничение родителя: редактируемая запись не может обойти режим только для чтения таблицы.

setReadOnly() и setEditable() возвращают Promise и требуют await. Для групповых изменений используйте base.getPermission().setObjectPermissions(); параметры описаны в Bases Facade.

Копирование, экспорт и комментарии

Права на уровне Base также управляют копированием, экспортом и комментариями. Например, отключите копирование:

TypeScript
import { UnitAction } from '@univerjs/protocol'await base.getPermission().setPoint(UnitAction.Copy, false)

Для прав на экспорт и комментарии используйте UnitAction.Export и UnitAction.Comment.

Подключение прав приложения

Локальные права управляют поведением редактора. В совместных приложениях сервер также должен авторизовывать чтение содержимого, присоединение к совместному редактированию и отправку изменений; см. Интеграция сервера.

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

Насколько полезно это руководство?

© 2026 DreamNum Co., Ltd.