# OpcServerSecurity Class

<dl class="api-definition">
<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>
<dt>Members</dt>
<dd><a href="./members">OpcServerSecurity Members</a></dd>
</dl>

Provides the security options of a server, including the access control lists which authenticate the identity tokens of the clients and determine the operations and endpoints available to them.

## Syntax

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

```csharp
public class OpcServerSecurity : OpcSecurity
```

</div>

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

```vbnet
Public Class OpcServerSecurity
    Inherits OpcSecurity
```

</div>

## Inheritance

[Object](https://learn.microsoft.com/dotnet/api/system.object) → [OpcSecurity](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcsecurity/) → **OpcServerSecurity**

## Properties

| Name | Description |
|---|---|
| [AccessControlLists](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserversecurity/members#accesscontrollists) | Gets a read-only collection of the access control lists used by the security. |
| [AccessControlRoles](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserversecurity/members#accesscontrolroles)<span class="api-meta">since v2.53</span> | Gets a read-only collection of [OpcAccessControlRole](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolrole/) instances associated with this OpcServerSecurity. |
| [AnonymousAcl](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserversecurity/members#anonymousacl) | Gets the access control list which authenticates anonymous identity tokens. |
| [CertificateAcl](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserversecurity/members#certificateacl) | Gets the access control list which authenticates X.509 certificate identity tokens. |
| [EndpointPolicies](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserversecurity/members#endpointpolicies) | Gets the security policies of the endpoints provided by the server. |
| [IsAuditingEnabled](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserversecurity/members#isauditingenabled)<span class="api-meta">since v2.58</span> | Gets or sets a value indicating whether the server generates audit events. |
| [IssuedTokenAcl](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserversecurity/members#issuedtokenacl) | Gets the access control list which authenticates issued identity tokens. |
| [Roles](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserversecurity/members#roles)<span class="api-meta">since v2.53</span> | Gets a set of default [OpcAccessControlRole](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcaccesscontrolrole/) instances usually known to the [OpcServer](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserver/). |
| [UserNameAcl](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserversecurity/members#usernameacl) | Gets the access control list which authenticates user name identity tokens. |

## Methods

| Name | Description |
|---|---|
| [AddAccessControlList](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserversecurity/members#addaccesscontrollist)<span class="api-meta">since v2.42</span> | Adds a custom access control list. |
| [Authenticate](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserversecurity/members#authenticate)<span class="api-meta">2 overloads</span> | Authenticates the `identityToken` specified using the enabled access control lists. |
| [IsEndpointDisabled](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserversecurity/members#isendpointdisabled)<span class="api-meta">2 overloads</span> | Determines whether the endpoint of the current secure channel is disabled for the `principal` specified by at least one enabled access control list. |
| [IsEndpointEnabled](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserversecurity/members#isendpointenabled)<span class="api-meta">2 overloads</span> | Determines whether the endpoint of the current secure channel is enabled for the `principal` specified by at least one enabled access control list. |
| [IsOperationAllowed](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserversecurity/members#isoperationallowed)<span class="api-meta">2 overloads</span> | Determines whether the `operation` specified is allowed for the `principal` specified by at least one enabled access control list. |
| [IsOperationDenied](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserversecurity/members#isoperationdenied)<span class="api-meta">2 overloads</span> | Determines whether the `operation` specified is denied for the `principal` specified by at least one enabled access control list. |
| [RemoveAccessControlList](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserversecurity/members#removeaccesscontrollist)<span class="api-meta">since v2.42</span> | Removes a custom access control list that was previously added with [AddAccessControlList](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcserversecurity/members#addaccesscontrollist). |

Inherits members from [OpcSecurity](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcsecurity/members).

## Applies to

| Package | Versions |
|---|---|
| Opc.UaFx.Advanced | v2.5–v2.59 |
