権限

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()

個別のオブジェクトを制限する

例えば、1 つのテーブルを制限します。

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.