# 권한

- Human documentation: [https://docs.univer.ai/ko-KR/guides/bases/features/core/permissions](https://docs.univer.ai/ko-KR/guides/bases/features/core/permissions)

- Agent Markdown: [https://docs.univer.ai/ko-KR/guides/bases/features/core/permissions.md](https://docs.univer.ai/ko-KR/guides/bases/features/core/permissions.md)

- Requested language: `ko-KR`

- Content language: `ko-KR`

- Documentation version: `1.0.4`

- Source: [bases/features/core/permissions.ko-KR.mdx](https://github.com/dream-num/documentation/blob/dev/content/guides/bases/features/core/permissions.ko-KR.mdx)

---

Base 전체 또는 개별 테이블, 필드, 레코드, 뷰를 읽기 전용으로 설정할 수 있습니다. 보고서를 제공하거나 일부 데이터만 편집하도록 허용할 때 사용하세요.

이 API를 사용하기 전에 Bases 플러그인을 등록하고 `@univerjs-pro/bases/facade`를 가져오세요.

## Base를 읽기 전용으로 설정

```ts
const base = univerAPI.getActiveBase()
if (!base) throw new Error('Open a Base first')

await base.getPermission().setReadOnly()
console.log(base.getPermission().canEdit()) // false

await base.getPermission().setEditable()
```

## 개별 객체 제한

예를 들어 한 테이블을 제한할 수 있습니다.

```ts
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](https://docs.univer.ai/ko-KR/reference/facade/base.md)를 참고하세요.

## 복사, 내보내기 및 댓글

Base 수준 권한은 복사, 내보내기, 댓글도 제어합니다. 예를 들어 복사를 비활성화합니다.

```ts
import { UnitAction } from '@univerjs/protocol'

await base.getPermission().setPoint(UnitAction.Copy, false)
```

내보내기와 댓글 권한에는 `UnitAction.Export`와 `UnitAction.Comment`를 사용하세요.

## 업무 권한 연결

로컬 권한은 편집기 동작을 제어합니다. 공동 편집 애플리케이션은 서버에서도 콘텐츠 읽기, 공동 편집 참여, 변경 제출을 승인해야 합니다. [서버 통합](https://docs.univer.ai/ko-KR/server.md)을 참고하세요.

편집자, 보기 전용 사용자, 권한이 없는 사용자로 페이지 동작과 직접 요청을 모두 테스트하세요.
