> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kasoftware.com/llms.txt
> Use this file to discover all available pages before exploring further.

# arc:restrict

> 使用 arc:restrict 根據指定使用者和角色限制對服務的存取，並優先於 ASP.NET 限制。

export const siteNameShort = "知行之橋";

`arc:restrict` 關鍵字允許根據使用者和角色限制對服務的存取。此限制優先於使用 ASP.NET 實施的任何限制。

如果在指令碼中新增 `arc:restrict`，則只有指定的使用者或角色可以使用該服務。

`arc:restrict` 關鍵字可以根據以下內容控制存取：

* 嘗試執行物件集的特定使用者。
* 使用者是否為指定安全形色的成員，其中角色對映到 ASP.NET 身分驗證和授權配置定義的角色。

<Note>單個指令碼中可以有多個 `arc:restrict` 語句。它們使用邏輯 `OR` 運算子進行計算。</Note>

## 參數

* **user**：以逗號分隔的使用者名稱清單。清單中的所有使用者都可以存取物件集。
  <Note>如果使用 Windows 整合身分驗證，必須確保使用者名稱包含域或計算機限定名（例如 `DOMAIN\username`）。</Note>
* **role**：以逗號分隔的角色名稱清單。任何處於至少一個指定角色中的使用者都可以存取物件集。
* **authtoken**：以逗號分隔的 authtoken 清單，用於授權使用者存取指令碼。可以透過 HTTP Basic 身分驗證、x-`arc`esb-authtoken 標頭，或表單 POST 資料中的 @authtoken 提供 authtoken。如果 app\_data 資料夾中的 settings.json 設定了 AllowtokeninURL，也可以在查詢字串中提供 @authtoken。
* **visibility**：將 visibility 設定為 `local` 會使指令碼無法直接從 HTTP 存取。不過，仍可以透過另一個指令碼呼叫該指令碼。
* **method**：指定使用者可針對物件集執行的 HTTP 方法清單，以逗號分隔。

## 控制屬性

無

## 範例

僅授予 `tomk` 和 `jdoe` 使用者存取權限：

```xml theme={null}
<arc:restrict user="newton\jdoe,newton\tomk"/>
```

僅授予具有 `FeedConsumers` 角色的使用者存取權限：

```xml theme={null}
<arc:restrict role="FeedConsumers"/>
```

## 另請參閱

* [arc:call](./op-arc-call)：呼叫指令碼、操作或物件集。
