# OpcAuthenticationLimits Members

> Reference: Provides authentication options used by a server application instance to control the limits of authentications between the opponent applications.

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

## Properties

### AutoDetermineLimits

Gets or sets a value indicating whether the server has to automatically determine feasible authentication limits according to available system ressources.

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

```csharp
public bool AutoDetermineLimits { get; set; }
```

</div>

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

```vbnet
Public Property AutoDetermineLimits As Boolean
```

</div>

**Property value**

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

The value true if the server has to automatically determine feasible authentication limits; otherwise the value false (the default value is false).

### Delay

Gets or sets the base delay that is applied after the threshold of failed login attempts is exceeded. The delay can increase exponentially with additional failed attempts (for example, 1s, 2s, 4s, and so on).

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

```csharp
public TimeSpan Delay { get; set; }
```

</div>

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

```vbnet
Public Property Delay As TimeSpan
```

</div>

**Property value**

[TimeSpan](https://learn.microsoft.com/dotnet/api/system.timespan)

A [TimeSpan](https://learn.microsoft.com/dotnet/api/system.timespan) that specifies the initial backoff delay applied when the threshold is exceeded.

### DelayWindow

Gets or sets the time window in which failed login attempts are counted. For example, a value of five seconds means that failed attempts within this period are considered together.

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

```csharp
public TimeSpan DelayWindow { get; set; }
```

</div>

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

```vbnet
Public Property DelayWindow As TimeSpan
```

</div>

**Property value**

[TimeSpan](https://learn.microsoft.com/dotnet/api/system.timespan)

A [TimeSpan](https://learn.microsoft.com/dotnet/api/system.timespan) that specifies the evaluation window for failed attempts.

### MaxConcurrentAttempts

Gets or sets the limit for concurrent authentication attempts across the server. This provides a safeguard against server-wide overload.

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

```csharp
public int MaxConcurrentAttempts { get; set; }
```

</div>

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

```vbnet
Public Property MaxConcurrentAttempts As Integer
```

</div>

**Property value**

[Int32](https://learn.microsoft.com/dotnet/api/system.int32)

The maximum number of concurrent authentication attempts across all identities and sessions.

### MaxConcurrentAttemptsPerIdentity

Gets or sets the maximum number of concurrent authentication attempts permitted per identity.

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

```csharp
public int MaxConcurrentAttemptsPerIdentity { get; set; }
```

</div>

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

```vbnet
Public Property MaxConcurrentAttemptsPerIdentity As Integer
```

</div>

**Property value**

[Int32](https://learn.microsoft.com/dotnet/api/system.int32)

The maximum number of simultaneous attempts allowed per identity.

### MaxDelay

Gets or sets the maximum delay that can be applied after repeated failed attempts. This prevents waiting times from growing beyond a practical limit.

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

```csharp
public TimeSpan MaxDelay { get; set; }
```

</div>

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

```vbnet
Public Property MaxDelay As TimeSpan
```

</div>

**Property value**

[TimeSpan](https://learn.microsoft.com/dotnet/api/system.timespan)

A [TimeSpan](https://learn.microsoft.com/dotnet/api/system.timespan) that specifies the upper bound for any applied delay.

### MaxFailedAttempts

Gets or sets the maximum number of failed login attempts allowed within the time window before a delay or rejection is enforced.

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

```csharp
public int MaxFailedAttempts { get; set; }
```

</div>

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

```vbnet
Public Property MaxFailedAttempts As Integer
```

</div>

**Property value**

[Int32](https://learn.microsoft.com/dotnet/api/system.int32)

An [int](https://learn.microsoft.com/dotnet/api/system.int32) that specifies the allowed number of failed attempts per [DelayWindow](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.server.opcauthenticationlimits/members#delaywindow).

### MaxLockoutRecords

Gets or sets the maximum number of lockout records that can be maintained concurrently. A lockout record represents tracked state for an identity.

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

```csharp
public int MaxLockoutRecords { get; set; }
```

</div>

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

```vbnet
Public Property MaxLockoutRecords As Integer
```

</div>

**Property value**

[Int32](https://learn.microsoft.com/dotnet/api/system.int32)

The maximum number of tracked lockout records used to bound memory usage.
