# OpcAccessControlEntry Members

> Reference: Represents the access control settings of a single OpcPrincipal in an OpcAccessControlList: the operations allowed or denied and the endpoints enabled or disabled for the principal.

<dl class="api-definition">
<dt>Type</dt>
<dd><a href="./">OpcAccessControlEntry</a></dd>
<dt>Namespace</dt>
<dd><a href="../namespaces/opc.uafx.server">Opc.UaFx.Server</a></dd>
<dt>Assembly</dt>
<dd>Opc.UaFx.Advanced.dll</dd>
<dt>Package</dt>
<dd>Opc.UaFx.Advanced v2.59.0</dd>
</dl>

## Constructors

### OpcAccessControlEntry

<span class="api-meta">3 overloads</span>

| Overload | Description |
|---|---|
| [OpcAccessControlEntry(OpcPrincipal)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#opcaccesscontrolentry-opc-uafx-server-opcprincipal) | Initializes a new instance of the [OpcAccessControlEntry](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/) class using the `principal` specified. |
| [OpcAccessControlEntry(OpcPrincipal, OpcAccessControlMode)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#opcaccesscontrolentry-opc-uafx-server-opcprincipal-opc-uafx-server-opcaccesscontrolmode) | Initializes a new instance of the [OpcAccessControlEntry](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/) class using the `principal` and `operationAccessMode` specified. |
| [OpcAccessControlEntry(OpcPrincipal, OpcAccessControlMode, OpcAccessControlMode)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#opcaccesscontrolentry-opc-uafx-server-opcprincipal-opc-uafx-server-opcaccesscontrolmode-opc-uafx-server-opcaccesscontrolmode) | Initializes a new instance of the [OpcAccessControlEntry](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/) class using the `principal`, `operationAccessMode` and `endpointAccessMode` specified. |

**Exceptions (all overloads)**

| Exception | Condition |
|---|---|
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) | The `principal` is a null reference (Nothing in Visual Basic). |

#### OpcAccessControlEntry(OpcPrincipal)

Initializes a new instance of the [OpcAccessControlEntry](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/) class using the `principal` specified.

<div class="api-signature" data-lang="csharp">

```csharp
public OpcAccessControlEntry(OpcPrincipal principal)
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public Sub New(principal As OpcPrincipal)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `principal` | [OpcPrincipal](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcprincipal/) | The [OpcPrincipal](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcprincipal/) the entry applies to. |

**Remarks**

The entry evaluates the operations and the endpoints using the mode [Blacklist](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolmode/#blacklist).

#### OpcAccessControlEntry(OpcPrincipal, OpcAccessControlMode)

Initializes a new instance of the [OpcAccessControlEntry](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/) class using the `principal` and `operationAccessMode` specified.

<div class="api-signature" data-lang="csharp">

```csharp
public OpcAccessControlEntry(
    OpcPrincipal principal,
    OpcAccessControlMode operationAccessMode)
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public Sub New(
    principal As OpcPrincipal,
    operationAccessMode As OpcAccessControlMode)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `principal` | [OpcPrincipal](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcprincipal/) | The [OpcPrincipal](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcprincipal/) the entry applies to. |
| `operationAccessMode` | [OpcAccessControlMode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolmode/) | One of the members defined by the [OpcAccessControlMode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolmode/) enumeration which specifies how the entry evaluates an operation which has neither been allowed nor denied explicitly. |

**Remarks**

The entry evaluates the endpoints using the mode [Blacklist](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolmode/#blacklist).

#### OpcAccessControlEntry(OpcPrincipal, OpcAccessControlMode, OpcAccessControlMode)

Initializes a new instance of the [OpcAccessControlEntry](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/) class using the `principal`, `operationAccessMode` and `endpointAccessMode` specified.

<div class="api-signature" data-lang="csharp">

```csharp
public OpcAccessControlEntry(
    OpcPrincipal principal,
    OpcAccessControlMode operationAccessMode,
    OpcAccessControlMode endpointAccessMode)
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public Sub New(
    principal As OpcPrincipal,
    operationAccessMode As OpcAccessControlMode,
    endpointAccessMode As OpcAccessControlMode)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `principal` | [OpcPrincipal](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcprincipal/) | The [OpcPrincipal](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcprincipal/) the entry applies to. |
| `operationAccessMode` | [OpcAccessControlMode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolmode/) | One of the members defined by the [OpcAccessControlMode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolmode/) enumeration which specifies how the entry evaluates an operation which has neither been allowed nor denied explicitly. |
| `endpointAccessMode` | [OpcAccessControlMode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolmode/) | One of the members defined by the [OpcAccessControlMode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolmode/) enumeration which specifies how the entry evaluates an endpoint which has neither been enabled nor disabled explicitly. |

## Properties

### AllowedOperations

Gets a read-only collection of the operations which have been allowed explicitly for the [Principal](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#principal).

<div class="api-signature" data-lang="csharp">

```csharp
public OpcOperationTypeReadOnlyCollection AllowedOperations { get; }
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public ReadOnly Property AllowedOperations As OpcOperationTypeReadOnlyCollection
```

</div>

**Property value**

[OpcOperationTypeReadOnlyCollection](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcoperationtypereadonlycollection/)

An instance of the [OpcOperationTypeReadOnlyCollection](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcoperationtypereadonlycollection/) class.

### DeniedOperations

Gets a read-only collection of the operations which have been denied explicitly for the [Principal](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#principal).

<div class="api-signature" data-lang="csharp">

```csharp
public OpcOperationTypeReadOnlyCollection DeniedOperations { get; }
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public ReadOnly Property DeniedOperations As OpcOperationTypeReadOnlyCollection
```

</div>

**Property value**

[OpcOperationTypeReadOnlyCollection](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcoperationtypereadonlycollection/)

An instance of the [OpcOperationTypeReadOnlyCollection](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcoperationtypereadonlycollection/) class.

### DisabledEndpoints

Gets a read-only collection of the endpoints which have been disabled explicitly for the [Principal](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#principal).

<div class="api-signature" data-lang="csharp">

```csharp
public OpcEndpointIdentityReadOnlyCollection DisabledEndpoints { get; }
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public ReadOnly Property DisabledEndpoints As OpcEndpointIdentityReadOnlyCollection
```

</div>

**Property value**

[OpcEndpointIdentityReadOnlyCollection](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcendpointidentityreadonlycollection/)

An instance of the [OpcEndpointIdentityReadOnlyCollection](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcendpointidentityreadonlycollection/) class.

### EnabledEndpoints

Gets a read-only collection of the endpoints which have been enabled explicitly for the [Principal](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#principal).

<div class="api-signature" data-lang="csharp">

```csharp
public OpcEndpointIdentityReadOnlyCollection EnabledEndpoints { get; }
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public ReadOnly Property EnabledEndpoints As OpcEndpointIdentityReadOnlyCollection
```

</div>

**Property value**

[OpcEndpointIdentityReadOnlyCollection](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcendpointidentityreadonlycollection/)

An instance of the [OpcEndpointIdentityReadOnlyCollection](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcendpointidentityreadonlycollection/) class.

### EndpointAccessMode

Gets the mode which the entry uses to evaluate an endpoint which has neither been enabled nor disabled explicitly.

<div class="api-signature" data-lang="csharp">

```csharp
public OpcAccessControlMode EndpointAccessMode { get; }
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public ReadOnly Property EndpointAccessMode As OpcAccessControlMode
```

</div>

**Property value**

[OpcAccessControlMode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolmode/)

One of the members defined by the [OpcAccessControlMode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolmode/) enumeration.

### OperationAccessMode

Gets the mode which the entry uses to evaluate an operation which has neither been allowed nor denied explicitly.

<div class="api-signature" data-lang="csharp">

```csharp
public OpcAccessControlMode OperationAccessMode { get; }
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public ReadOnly Property OperationAccessMode As OpcAccessControlMode
```

</div>

**Property value**

[OpcAccessControlMode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolmode/)

One of the members defined by the [OpcAccessControlMode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolmode/) enumeration.

### Principal

Gets the principal the entry applies to.

<div class="api-signature" data-lang="csharp">

```csharp
public OpcPrincipal Principal { get; }
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public ReadOnly Property Principal As OpcPrincipal
```

</div>

**Property value**

[OpcPrincipal](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcprincipal/)

The [OpcPrincipal](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcprincipal/) specified on construction.

## Methods

### Allow

<span class="api-meta">4 overloads</span>

| Overload | Description |
|---|---|
| [Allow(IEnumerable&lt;OpcOperationType&gt;)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#allow-system-collections-generic-ienumerable-of-opc-uafx-server-opcoperationtype) | Allows the `operations` specified explicitly for the [Principal](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#principal). |
| [Allow(params OpcOperationType\[\])](#allow-opc-uafx-server-opcoperationtype-array) | Allows the `operations` specified explicitly for the [Principal](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#principal). |
| [Allow(IEnumerable&lt;OpcRequestType&gt;)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#allow-system-collections-generic-ienumerable-of-opc-uafx-server-opcrequesttype) | Allows the requests of the types specified by `operations` explicitly for the [Principal](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#principal). |
| [Allow(params OpcRequestType\[\])](#allow-opc-uafx-server-opcrequesttype-array) | Allows the requests of the types specified by `operations` explicitly for the [Principal](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#principal). |

#### Allow(IEnumerable&lt;OpcOperationType&gt;)

Allows the `operations` specified explicitly for the [Principal](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#principal).

<div class="api-signature" data-lang="csharp">

```csharp
public OpcAccessControlEntry Allow(IEnumerable<OpcOperationType> operations)
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public Function Allow(
    operations As IEnumerable(Of OpcOperationType)) As OpcAccessControlEntry
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `operations` | [IEnumerable](https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1)&lt;[OpcOperationType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcoperationtype/)&gt; | A sequence of [OpcOperationType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcoperationtype/) instances to allow. |

**Returns**

[OpcAccessControlEntry](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/)

The current [OpcAccessControlEntry](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/) instance to continue with subsequent operations on this instance.

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) | The `operations` or one of the instances in the sequence is a null reference (Nothing in Visual Basic). |

**Remarks**

An operation which has been denied explicitly before is removed from the [DeniedOperations](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#deniedoperations). Operations are compared by their [Key](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcoperationtype/members#key).

#### Allow(params OpcOperationType\[\])

Allows the `operations` specified explicitly for the [Principal](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#principal).

<div class="api-signature" data-lang="csharp">

```csharp
public OpcAccessControlEntry Allow(params OpcOperationType[] operations)
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public Function Allow(
    ParamArray operations As OpcOperationType()) As OpcAccessControlEntry
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `operations` | params [OpcOperationType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcoperationtype/)[] | An array of [OpcOperationType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcoperationtype/) instances to allow. |

**Returns**

[OpcAccessControlEntry](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/)

The current [OpcAccessControlEntry](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/) instance to continue with subsequent operations on this instance.

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) | The `operations` or one of the instances in the array is a null reference (Nothing in Visual Basic). |

**Remarks**

An operation which has been denied explicitly before is removed from the [DeniedOperations](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#deniedoperations). Operations are compared by their [Key](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcoperationtype/members#key).

#### Allow(IEnumerable&lt;OpcRequestType&gt;)

Allows the requests of the types specified by `operations` explicitly for the [Principal](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#principal).

<div class="api-signature" data-lang="csharp">

```csharp
public OpcAccessControlEntry Allow(IEnumerable<OpcRequestType> operations)
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public Function Allow(
    operations As IEnumerable(Of OpcRequestType)) As OpcAccessControlEntry
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `operations` | [IEnumerable](https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1)&lt;[OpcRequestType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcrequesttype/)&gt; | A sequence of members defined by the [OpcRequestType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcrequesttype/) enumeration which specify the requests to allow. |

**Returns**

[OpcAccessControlEntry](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/)

The current [OpcAccessControlEntry](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/) instance to continue with subsequent operations on this instance.

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) | The `operations` is a null reference (Nothing in Visual Basic). |

**Remarks**

A request type which has been denied explicitly before is removed from the [DeniedOperations](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#deniedoperations).

#### Allow(params OpcRequestType\[\])

Allows the requests of the types specified by `operations` explicitly for the [Principal](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#principal).

<div class="api-signature" data-lang="csharp">

```csharp
public OpcAccessControlEntry Allow(params OpcRequestType[] operations)
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public Function Allow(
    ParamArray operations As OpcRequestType()) As OpcAccessControlEntry
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `operations` | params [OpcRequestType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcrequesttype/)[] | An array of members defined by the [OpcRequestType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcrequesttype/) enumeration which specify the requests to allow. |

**Returns**

[OpcAccessControlEntry](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/)

The current [OpcAccessControlEntry](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/) instance to continue with subsequent operations on this instance.

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) | The `operations` is a null reference (Nothing in Visual Basic). |

**Remarks**

A request type which has been denied explicitly before is removed from the [DeniedOperations](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#deniedoperations).

### Assign

<span class="api-meta">2 overloads · since v2.53</span>

| Overload | Description |
|---|---|
| [Assign(IEnumerable&lt;OpcAccessControlRole&gt;)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#assign-system-collections-generic-ienumerable-of-opc-uafx-server-opcaccesscontrolrole)<span class="api-meta">since v2.53</span> | Assigns the [Principal](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#principal) of the current [OpcAccessControlEntry](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/) to the [OpcAccessControlRole](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolrole/) instances defined by `roles`. |
| [Assign(params OpcAccessControlRole\[\])](#assign-opc-uafx-server-opcaccesscontrolrole-array)<span class="api-meta">since v2.53</span> | Assigns the [Principal](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#principal) of the current [OpcAccessControlEntry](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/) to the [OpcAccessControlRole](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolrole/) instances defined by `roles`. |

#### Assign(IEnumerable&lt;OpcAccessControlRole&gt;)

<span class="api-meta">since v2.53</span>

Assigns the [Principal](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#principal) of the current [OpcAccessControlEntry](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/) to the [OpcAccessControlRole](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolrole/) instances defined by `roles`.

<div class="api-signature" data-lang="csharp">

```csharp
public OpcAccessControlEntry Assign(IEnumerable<OpcAccessControlRole> roles)
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public Function Assign(
    roles As IEnumerable(Of OpcAccessControlRole)) As OpcAccessControlEntry
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `roles` | [IEnumerable](https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1)&lt;[OpcAccessControlRole](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolrole/)&gt; | A sequence of [OpcAccessControlRole](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolrole/) instances the [Principal](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#principal) is to be assigned to. |

**Returns**

[OpcAccessControlEntry](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/)

The current [OpcAccessControlEntry](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/) instance to continue with subsequent operations on this instance.

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) | The `roles` or one of the instances in the sequence is a null reference (Nothing in Visual Basic). |

#### Assign(params OpcAccessControlRole\[\])

<span class="api-meta">since v2.53</span>

Assigns the [Principal](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#principal) of the current [OpcAccessControlEntry](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/) to the [OpcAccessControlRole](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolrole/) instances defined by `roles`.

<div class="api-signature" data-lang="csharp">

```csharp
public OpcAccessControlEntry Assign(params OpcAccessControlRole[] roles)
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public Function Assign(
    ParamArray roles As OpcAccessControlRole()) As OpcAccessControlEntry
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `roles` | params [OpcAccessControlRole](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolrole/)[] | An array of [OpcAccessControlRole](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolrole/) instances the [Principal](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#principal) is to be assigned to. |

**Returns**

[OpcAccessControlEntry](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/)

The current [OpcAccessControlEntry](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/) instance to continue with subsequent operations on this instance.

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) | The `roles` or one of the instances in the array is a null reference (Nothing in Visual Basic). |

### Deny

<span class="api-meta">4 overloads</span>

| Overload | Description |
|---|---|
| [Deny(IEnumerable&lt;OpcOperationType&gt;)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#deny-system-collections-generic-ienumerable-of-opc-uafx-server-opcoperationtype) | Denies the `operations` specified explicitly for the [Principal](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#principal). |
| [Deny(params OpcOperationType\[\])](#deny-opc-uafx-server-opcoperationtype-array) | Denies the `operations` specified explicitly for the [Principal](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#principal). |
| [Deny(IEnumerable&lt;OpcRequestType&gt;)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#deny-system-collections-generic-ienumerable-of-opc-uafx-server-opcrequesttype) | Denies the requests of the types specified by `operations` explicitly for the [Principal](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#principal). |
| [Deny(params OpcRequestType\[\])](#deny-opc-uafx-server-opcrequesttype-array) | Denies the requests of the types specified by `operations` explicitly for the [Principal](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#principal). |

#### Deny(IEnumerable&lt;OpcOperationType&gt;)

Denies the `operations` specified explicitly for the [Principal](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#principal).

<div class="api-signature" data-lang="csharp">

```csharp
public OpcAccessControlEntry Deny(IEnumerable<OpcOperationType> operations)
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public Function Deny(
    operations As IEnumerable(Of OpcOperationType)) As OpcAccessControlEntry
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `operations` | [IEnumerable](https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1)&lt;[OpcOperationType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcoperationtype/)&gt; | A sequence of [OpcOperationType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcoperationtype/) instances to deny. |

**Returns**

[OpcAccessControlEntry](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/)

The current [OpcAccessControlEntry](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/) instance to continue with subsequent operations on this instance.

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) | The `operations` or one of the instances in the sequence is a null reference (Nothing in Visual Basic). |

**Remarks**

An operation which has been allowed explicitly before is removed from the [AllowedOperations](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#allowedoperations). Operations are compared by their [Key](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcoperationtype/members#key).

#### Deny(params OpcOperationType\[\])

Denies the `operations` specified explicitly for the [Principal](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#principal).

<div class="api-signature" data-lang="csharp">

```csharp
public OpcAccessControlEntry Deny(params OpcOperationType[] operations)
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public Function Deny(
    ParamArray operations As OpcOperationType()) As OpcAccessControlEntry
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `operations` | params [OpcOperationType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcoperationtype/)[] | An array of [OpcOperationType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcoperationtype/) instances to deny. |

**Returns**

[OpcAccessControlEntry](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/)

The current [OpcAccessControlEntry](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/) instance to continue with subsequent operations on this instance.

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) | The `operations` or one of the instances in the array is a null reference (Nothing in Visual Basic). |

**Remarks**

An operation which has been allowed explicitly before is removed from the [AllowedOperations](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#allowedoperations). Operations are compared by their [Key](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcoperationtype/members#key).

#### Deny(IEnumerable&lt;OpcRequestType&gt;)

Denies the requests of the types specified by `operations` explicitly for the [Principal](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#principal).

<div class="api-signature" data-lang="csharp">

```csharp
public OpcAccessControlEntry Deny(IEnumerable<OpcRequestType> operations)
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public Function Deny(
    operations As IEnumerable(Of OpcRequestType)) As OpcAccessControlEntry
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `operations` | [IEnumerable](https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1)&lt;[OpcRequestType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcrequesttype/)&gt; | A sequence of members defined by the [OpcRequestType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcrequesttype/) enumeration which specify the requests to deny. |

**Returns**

[OpcAccessControlEntry](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/)

The current [OpcAccessControlEntry](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/) instance to continue with subsequent operations on this instance.

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) | The `operations` is a null reference (Nothing in Visual Basic). |

**Remarks**

A request type which has been allowed explicitly before is removed from the [AllowedOperations](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#allowedoperations).

#### Deny(params OpcRequestType\[\])

Denies the requests of the types specified by `operations` explicitly for the [Principal](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#principal).

<div class="api-signature" data-lang="csharp">

```csharp
public OpcAccessControlEntry Deny(params OpcRequestType[] operations)
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public Function Deny(
    ParamArray operations As OpcRequestType()) As OpcAccessControlEntry
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `operations` | params [OpcRequestType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcrequesttype/)[] | An array of members defined by the [OpcRequestType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcrequesttype/) enumeration which specify the requests to deny. |

**Returns**

[OpcAccessControlEntry](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/)

The current [OpcAccessControlEntry](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/) instance to continue with subsequent operations on this instance.

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) | The `operations` is a null reference (Nothing in Visual Basic). |

**Remarks**

A request type which has been allowed explicitly before is removed from the [AllowedOperations](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#allowedoperations).

### Disable

<span class="api-meta">2 overloads</span>

| Overload | Description |
|---|---|
| [Disable(IEnumerable&lt;OpcEndpointIdentity&gt;)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#disable-system-collections-generic-ienumerable-of-opc-uafx-opcendpointidentity) | Disables the `endpoints` specified explicitly for the [Principal](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#principal). |
| [Disable(params OpcEndpointIdentity\[\])](#disable-opc-uafx-opcendpointidentity-array) | Disables the `endpoints` specified explicitly for the [Principal](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#principal). |

#### Disable(IEnumerable&lt;OpcEndpointIdentity&gt;)

Disables the `endpoints` specified explicitly for the [Principal](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#principal).

<div class="api-signature" data-lang="csharp">

```csharp
public OpcAccessControlEntry Disable(IEnumerable<OpcEndpointIdentity> endpoints)
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public Function Disable(
    endpoints As IEnumerable(Of OpcEndpointIdentity)) As OpcAccessControlEntry
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `endpoints` | [IEnumerable](https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1)&lt;[OpcEndpointIdentity](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcendpointidentity/)&gt; | A sequence of [OpcEndpointIdentity](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcendpointidentity/) instances to disable. |

**Returns**

[OpcAccessControlEntry](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/)

The current [OpcAccessControlEntry](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/) instance to continue with subsequent operations on this instance.

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) | The `endpoints` or one of the instances in the sequence is a null reference (Nothing in Visual Basic). |

**Remarks**

An endpoint which has been enabled explicitly before is removed from the [EnabledEndpoints](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#enabledendpoints). Endpoints are compared by their URL and by the mode, algorithm and level of their security policy.

#### Disable(params OpcEndpointIdentity\[\])

Disables the `endpoints` specified explicitly for the [Principal](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#principal).

<div class="api-signature" data-lang="csharp">

```csharp
public OpcAccessControlEntry Disable(params OpcEndpointIdentity[] endpoints)
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public Function Disable(
    ParamArray endpoints As OpcEndpointIdentity()) As OpcAccessControlEntry
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `endpoints` | params [OpcEndpointIdentity](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcendpointidentity/)[] | An array of [OpcEndpointIdentity](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcendpointidentity/) instances to disable. |

**Returns**

[OpcAccessControlEntry](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/)

The current [OpcAccessControlEntry](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/) instance to continue with subsequent operations on this instance.

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) | The `endpoints` or one of the instances in the array is a null reference (Nothing in Visual Basic). |

**Remarks**

An endpoint which has been enabled explicitly before is removed from the [EnabledEndpoints](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#enabledendpoints). Endpoints are compared by their URL and by the mode, algorithm and level of their security policy.

### Enable

<span class="api-meta">2 overloads</span>

| Overload | Description |
|---|---|
| [Enable(IEnumerable&lt;OpcEndpointIdentity&gt;)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#enable-system-collections-generic-ienumerable-of-opc-uafx-opcendpointidentity) | Enables the `endpoints` specified explicitly for the [Principal](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#principal). |
| [Enable(params OpcEndpointIdentity\[\])](#enable-opc-uafx-opcendpointidentity-array) | Enables the `endpoints` specified explicitly for the [Principal](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#principal). |

#### Enable(IEnumerable&lt;OpcEndpointIdentity&gt;)

Enables the `endpoints` specified explicitly for the [Principal](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#principal).

<div class="api-signature" data-lang="csharp">

```csharp
public OpcAccessControlEntry Enable(IEnumerable<OpcEndpointIdentity> endpoints)
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public Function Enable(
    endpoints As IEnumerable(Of OpcEndpointIdentity)) As OpcAccessControlEntry
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `endpoints` | [IEnumerable](https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1)&lt;[OpcEndpointIdentity](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcendpointidentity/)&gt; | A sequence of [OpcEndpointIdentity](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcendpointidentity/) instances to enable. |

**Returns**

[OpcAccessControlEntry](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/)

The current [OpcAccessControlEntry](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/) instance to continue with subsequent operations on this instance.

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) | The `endpoints` or one of the instances in the sequence is a null reference (Nothing in Visual Basic). |

**Remarks**

An endpoint which has been disabled explicitly before is removed from the [DisabledEndpoints](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#disabledendpoints). Endpoints are compared by their URL and by the mode, algorithm and level of their security policy.

#### Enable(params OpcEndpointIdentity\[\])

Enables the `endpoints` specified explicitly for the [Principal](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#principal).

<div class="api-signature" data-lang="csharp">

```csharp
public OpcAccessControlEntry Enable(params OpcEndpointIdentity[] endpoints)
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public Function Enable(
    ParamArray endpoints As OpcEndpointIdentity()) As OpcAccessControlEntry
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `endpoints` | params [OpcEndpointIdentity](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcendpointidentity/)[] | An array of [OpcEndpointIdentity](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcendpointidentity/) instances to enable. |

**Returns**

[OpcAccessControlEntry](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/)

The current [OpcAccessControlEntry](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/) instance to continue with subsequent operations on this instance.

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) | The `endpoints` or one of the instances in the array is a null reference (Nothing in Visual Basic). |

**Remarks**

An endpoint which has been disabled explicitly before is removed from the [DisabledEndpoints](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#disabledendpoints). Endpoints are compared by their URL and by the mode, algorithm and level of their security policy.

### IsAllowed

<span class="api-meta">2 overloads</span>

| Overload | Description |
|---|---|
| [IsAllowed(OpcOperationType)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#isallowed-opc-uafx-server-opcoperationtype) | Determines whether the `operation` specified is allowed for the [Principal](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#principal). |
| [IsAllowed(OpcRequestType)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#isallowed-opc-uafx-server-opcrequesttype) | Determines whether the requests of the type specified by `operation` are allowed for the [Principal](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#principal). |

#### IsAllowed(OpcOperationType)

Determines whether the `operation` specified is allowed for the [Principal](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#principal).

<div class="api-signature" data-lang="csharp">

```csharp
public bool IsAllowed(OpcOperationType operation)
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public Function IsAllowed(operation As OpcOperationType) As Boolean
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `operation` | [OpcOperationType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcoperationtype/) | The [OpcOperationType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcoperationtype/) to verify. |

**Returns**

[Boolean](https://learn.microsoft.com/dotnet/api/system.boolean)

The value true if the `operation` has been allowed explicitly or if the [OperationAccessMode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#operationaccessmode) is [Whitelist](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolmode/#whitelist) and the operation has not been denied explicitly; otherwise the value false.

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) | The `operation` is a null reference (Nothing in Visual Basic). |

**Remarks**

In the mode [Explicit](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolmode/#explicit) an operation which has neither been allowed nor denied explicitly is neither allowed nor denied, so that [IsAllowed](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#isallowed-opc-uafx-server-opcoperationtype) and [IsDenied](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#isdenied-opc-uafx-server-opcoperationtype) both return false.

#### IsAllowed(OpcRequestType)

Determines whether the requests of the type specified by `operation` are allowed for the [Principal](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#principal).

<div class="api-signature" data-lang="csharp">

```csharp
public bool IsAllowed(OpcRequestType operation)
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public Function IsAllowed(operation As OpcRequestType) As Boolean
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `operation` | [OpcRequestType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcrequesttype/) | One of the members defined by the [OpcRequestType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcrequesttype/) enumeration which specifies the requests to verify. |

**Returns**

[Boolean](https://learn.microsoft.com/dotnet/api/system.boolean)

The value true if the request type has been allowed explicitly or if the [OperationAccessMode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#operationaccessmode) is [Whitelist](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolmode/#whitelist) and the request type has not been denied explicitly; otherwise the value false.

### IsDenied

<span class="api-meta">2 overloads</span>

| Overload | Description |
|---|---|
| [IsDenied(OpcOperationType)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#isdenied-opc-uafx-server-opcoperationtype) | Determines whether the `operation` specified is denied for the [Principal](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#principal). |
| [IsDenied(OpcRequestType)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#isdenied-opc-uafx-server-opcrequesttype) | Determines whether the requests of the type specified by `operation` are denied for the [Principal](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#principal). |

#### IsDenied(OpcOperationType)

Determines whether the `operation` specified is denied for the [Principal](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#principal).

<div class="api-signature" data-lang="csharp">

```csharp
public bool IsDenied(OpcOperationType operation)
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public Function IsDenied(operation As OpcOperationType) As Boolean
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `operation` | [OpcOperationType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcoperationtype/) | The [OpcOperationType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcoperationtype/) to verify. |

**Returns**

[Boolean](https://learn.microsoft.com/dotnet/api/system.boolean)

The value true if the `operation` has been denied explicitly or if the [OperationAccessMode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#operationaccessmode) is [Blacklist](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolmode/#blacklist) and the operation has not been allowed explicitly; otherwise the value false.

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) | The `operation` is a null reference (Nothing in Visual Basic). |

**Remarks**

In the mode [Explicit](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolmode/#explicit) an operation which has neither been allowed nor denied explicitly is neither allowed nor denied, so that [IsAllowed](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#isallowed-opc-uafx-server-opcoperationtype) and [IsDenied](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#isdenied-opc-uafx-server-opcoperationtype) both return false.

#### IsDenied(OpcRequestType)

Determines whether the requests of the type specified by `operation` are denied for the [Principal](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#principal).

<div class="api-signature" data-lang="csharp">

```csharp
public bool IsDenied(OpcRequestType operation)
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public Function IsDenied(operation As OpcRequestType) As Boolean
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `operation` | [OpcRequestType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcrequesttype/) | One of the members defined by the [OpcRequestType](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcrequesttype/) enumeration which specifies the requests to verify. |

**Returns**

[Boolean](https://learn.microsoft.com/dotnet/api/system.boolean)

The value true if the request type has been denied explicitly or if the [OperationAccessMode](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#operationaccessmode) is [Blacklist](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolmode/#blacklist) and the request type has not been allowed explicitly; otherwise the value false.

### IsDisabled

Determines whether the `endpoint` specified is disabled for the [Principal](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#principal).

<div class="api-signature" data-lang="csharp">

```csharp
public bool IsDisabled(OpcEndpointIdentity endpoint)
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public Function IsDisabled(endpoint As OpcEndpointIdentity) As Boolean
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `endpoint` | [OpcEndpointIdentity](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcendpointidentity/) | The [OpcEndpointIdentity](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcendpointidentity/) to verify. |

**Returns**

[Boolean](https://learn.microsoft.com/dotnet/api/system.boolean)

The value true if the `endpoint` has been disabled explicitly or if the endpoint access mode specified on construction is [Blacklist](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolmode/#blacklist) and the endpoint has not been enabled explicitly; otherwise the value false.

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) | The `endpoint` is a null reference (Nothing in Visual Basic). |

**Remarks**

In the mode [Explicit](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolmode/#explicit) an endpoint which has neither been enabled nor disabled explicitly is neither enabled nor disabled, so that [IsEnabled](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#isenabled) and [IsDisabled](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#isdisabled) both return false.

### IsEnabled

Determines whether the `endpoint` specified is enabled for the [Principal](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#principal).

<div class="api-signature" data-lang="csharp">

```csharp
public bool IsEnabled(OpcEndpointIdentity endpoint)
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public Function IsEnabled(endpoint As OpcEndpointIdentity) As Boolean
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `endpoint` | [OpcEndpointIdentity](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcendpointidentity/) | The [OpcEndpointIdentity](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcendpointidentity/) to verify. |

**Returns**

[Boolean](https://learn.microsoft.com/dotnet/api/system.boolean)

The value true if the `endpoint` has been enabled explicitly or if the endpoint access mode specified on construction is [Whitelist](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolmode/#whitelist) and the endpoint has not been disabled explicitly; otherwise the value false.

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) | The `endpoint` is a null reference (Nothing in Visual Basic). |

**Remarks**

In the mode [Explicit](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolmode/#explicit) an endpoint which has neither been enabled nor disabled explicitly is neither enabled nor disabled, so that [IsEnabled](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#isenabled) and [IsDisabled](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#isdisabled) both return false.

### Revoke

<span class="api-meta">2 overloads · since v2.53</span>

| Overload | Description |
|---|---|
| [Revoke(IEnumerable&lt;OpcAccessControlRole&gt;)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#revoke-system-collections-generic-ienumerable-of-opc-uafx-server-opcaccesscontrolrole)<span class="api-meta">since v2.53</span> | Revokes the assignment of the [Principal](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#principal) of the current [OpcAccessControlEntry](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/) to the [OpcAccessControlRole](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolrole/) instances defined by `roles`. |
| [Revoke(params OpcAccessControlRole\[\])](#revoke-opc-uafx-server-opcaccesscontrolrole-array)<span class="api-meta">since v2.53</span> | Revokes the assignment of the [Principal](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#principal) of the current [OpcAccessControlEntry](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/) to the [OpcAccessControlRole](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolrole/) instances defined by `roles`. |

#### Revoke(IEnumerable&lt;OpcAccessControlRole&gt;)

<span class="api-meta">since v2.53</span>

Revokes the assignment of the [Principal](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#principal) of the current [OpcAccessControlEntry](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/) to the [OpcAccessControlRole](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolrole/) instances defined by `roles`.

<div class="api-signature" data-lang="csharp">

```csharp
public OpcAccessControlEntry Revoke(IEnumerable<OpcAccessControlRole> roles)
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public Function Revoke(
    roles As IEnumerable(Of OpcAccessControlRole)) As OpcAccessControlEntry
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `roles` | [IEnumerable](https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1)&lt;[OpcAccessControlRole](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolrole/)&gt; | A sequence of [OpcAccessControlRole](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolrole/) instances the [Principal](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#principal) is to be unassigned from. |

**Returns**

[OpcAccessControlEntry](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/)

The current [OpcAccessControlEntry](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/) instance to continue with subsequent operations on this instance.

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) | The `roles` or one of the instances in the sequence is a null reference (Nothing in Visual Basic). |

#### Revoke(params OpcAccessControlRole\[\])

<span class="api-meta">since v2.53</span>

Revokes the assignment of the [Principal](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#principal) of the current [OpcAccessControlEntry](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/) to the [OpcAccessControlRole](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolrole/) instances defined by `roles`.

<div class="api-signature" data-lang="csharp">

```csharp
public OpcAccessControlEntry Revoke(params OpcAccessControlRole[] roles)
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public Function Revoke(
    ParamArray roles As OpcAccessControlRole()) As OpcAccessControlEntry
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `roles` | params [OpcAccessControlRole](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolrole/)[] | An array of [OpcAccessControlRole](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolrole/) instances the [Principal](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/members#principal) is to be unassigned from. |

**Returns**

[OpcAccessControlEntry](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/)

The current [OpcAccessControlEntry](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolentry/) instance to continue with subsequent operations on this instance.

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) | The `roles` or one of the instances in the array is a null reference (Nothing in Visual Basic). |
