< Summary

Line coverage
0%
Covered lines: 0
Uncovered lines: 9
Coverable lines: 9
Total lines: 61
Line coverage: 0%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Cyclomatic complexity NPath complexity Sequence coverage
.ctor()100%110%

File(s)

https://raw.githubusercontent.com/dotnet/runtime/811a7eabb75c42db53440e8ba3f60c07511cfd1f/src/libraries/System.Net.Security/src/System/Net/Security/NegotiateAuthenticationServerOptions.cs

#LineLine coverage
 1// Licensed to the .NET Foundation under one or more agreements.
 2// The .NET Foundation licenses this file to you under the MIT license.
 3
 4using System.Security.Authentication;
 5using System.Security.Authentication.ExtendedProtection;
 6using System.Security.Principal;
 7
 8namespace System.Net.Security
 9{
 10    /// <summary>
 11    /// Represents a property bag for server-side of an authentication exchange.
 12    /// </summary>
 13    /// <remarks>
 14    /// This property bag is used as argument for <see cref="NegotiateAuthentication" />
 15    /// constructor for initializing a server-side authentication.
 16    /// </remarks>
 17    public class NegotiateAuthenticationServerOptions
 18    {
 19        /// <summary>
 20        /// Initializes a new instance of the <see cref="NegotiateAuthenticationServerOptions" /> class.
 21        /// </summary>
 022        public NegotiateAuthenticationServerOptions()
 023        {
 024        }
 25
 26        /// <summary>
 27        /// Specifies the GSSAPI authentication package used for the authentication.
 28        /// Common values are Negotiate, NTLM or Kerberos. Default value is Negotiate.
 29        /// </summary>
 030        public string Package { get; set; } = NegotiationInfoClass.Negotiate;
 31
 32        /// <summary>
 33        /// The NetworkCredential that is used to establish the identity of the client.
 34        /// Default value is CredentialCache.DefaultNetworkCredentials.
 35        /// </summary>
 036        public NetworkCredential Credential { get; set; } = CredentialCache.DefaultNetworkCredentials;
 37
 38        /// <summary>
 39        /// Channel binding that is used for extended protection.
 40        /// </summary>
 041        public ChannelBinding? Binding { get; set; }
 42
 43        /// <summary>
 44        /// Indicates the required level of protection of the authentication exchange
 45        /// and any further data exchange. Default value is None.
 46        /// </summary>
 047        public ProtectionLevel RequiredProtectionLevel { get; set; } = ProtectionLevel.None;
 48
 49        /// <summary>
 50        /// Indicates extended security and validation policies.
 51        /// </summary>
 052        public ExtendedProtectionPolicy? Policy { get; set; }
 53
 54        /// <summary>
 55        /// One of the <see cref="TokenImpersonationLevel" /> values, indicating how the server
 56        /// can use the client's credentials to access resources.
 57        /// </summary>
 058        public TokenImpersonationLevel RequiredImpersonationLevel { get; set; } = TokenImpersonationLevel.None;
 59    }
 60}
 61