SqlClientPermission Class

Definition

Caution

Code Access Security is not supported or honored by the runtime.

Enables the .NET Framework Data Provider for SQL Server to help make sure that a user has a security level sufficient to access a data source.

public ref class SqlClientPermission sealed : System::Data::Common::DBDataPermission
public sealed class SqlClientPermission : System.Data.Common.DBDataPermission
[System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public sealed class SqlClientPermission : System.Data.Common.DBDataPermission
[System.Serializable]
public sealed class SqlClientPermission : System.Data.Common.DBDataPermission
type SqlClientPermission = class
    inherit DBDataPermission
[<System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
type SqlClientPermission = class
    inherit DBDataPermission
[<System.Serializable>]
type SqlClientPermission = class
    inherit DBDataPermission
Public NotInheritable Class SqlClientPermission
Inherits DBDataPermission
Inheritance
Attributes

Remarks

Caution

Code Access Security (CAS) has been deprecated across all versions of .NET Framework and .NET. Recent versions of .NET do not honor CAS annotations and produce errors if CAS-related APIs are used. Developers should seek alternative means of accomplishing security tasks.

The IsUnrestricted property takes precedence over the AllowBlankPassword property. Therefore, if you set AllowBlankPassword to false, you must also set IsUnrestricted to false to prevent a user from making a connection using a blank password.

Note

When using code access security permissions for ADO.NET, the correct pattern is to start with the most restrictive case (no permissions at all) and then add the specific permissions that are needed for the particular task that the code needs to perform. The opposite pattern, starting with all permissions and then denying a specific permission, is not secure, because there are many ways of expressing the same connection string. For example, if you start with all permissions and then attempt to deny the use of the connection string "server=someserver", the string "server=someserver.mycompany.com" would still be allowed. By always starting by granting no permissions at all, you reduce the chances that there are holes in the permission set.

Constructors

SqlClientPermission()
Obsolete.
Obsolete.

Initializes a new instance of the SqlClientPermission class.

SqlClientPermission(PermissionState)

Initializes a new instance of the SqlClientPermission class.

SqlClientPermission(PermissionState, Boolean)
Obsolete.
Obsolete.

Initializes a new instance of the SqlClientPermission class.

Properties

AllowBlankPassword

Gets a value indicating whether a blank password is allowed.

(Inherited from DBDataPermission)

Methods

Add(String, String, KeyRestrictionBehavior)

Adds a new connection string and a set of restricted keywords to the SqlClientPermission object.

Assert()

Declares that the calling code can access the resource protected by a permission demand through the code that calls this method, even if callers higher in the stack have not been granted permission to access the resource. Using Assert() can create security issues.

(Inherited from CodeAccessPermission)
Clear()

Removes all permissions that were previously added using the Add(String, String, KeyRestrictionBehavior) method.

(Inherited from DBDataPermission)
Copy()

Returns the SqlClientPermission as an IPermission.

CreateInstance()

Creates a new instance of the DBDataPermission class.

(Inherited from DBDataPermission)
Demand()

Forces a SecurityException at run time if all callers higher in the call stack have not been granted the permission specified by the current instance.

(Inherited from CodeAccessPermission)
Deny()
Obsolete.
Obsolete.

Prevents callers higher in the call stack from using the code that calls this method to access the resource specified by the current instance.

(Inherited from CodeAccessPermission)
Equals(Object)

Determines whether the specified CodeAccessPermission object is equal to the current CodeAccessPermission.

(Inherited from CodeAccessPermission)
FromXml(SecurityElement)

Reconstructs a security object with a specified state from an XML encoding.

(Inherited from DBDataPermission)
GetHashCode()

Gets a hash code for the CodeAccessPermission object that is suitable for use in hashing algorithms and data structures such as a hash table.

(Inherited from CodeAccessPermission)
GetType()

Gets the Type of the current instance.

(Inherited from Object)
Intersect(IPermission)

Returns a new permission object representing the intersection of the current permission object and the specified permission object.

(Inherited from DBDataPermission)
IsSubsetOf(IPermission)

Returns a value indicating whether the current permission object is a subset of the specified permission object.

(Inherited from DBDataPermission)
IsUnrestricted()

Returns a value indicating whether the permission can be represented as unrestricted without any knowledge of the permission semantics.

(Inherited from DBDataPermission)
MemberwiseClone()

Creates a shallow copy of the current Object.

(Inherited from Object)
PermitOnly()

Prevents callers higher in the call stack from using the code that calls this method to access all resources except for the resource specified by the current instance.

(Inherited from CodeAccessPermission)
ToString()

Creates and returns a string representation of the current permission object.

(Inherited from CodeAccessPermission)
ToXml()

Creates an XML encoding of the security object and its current state.

(Inherited from DBDataPermission)
Union(IPermission)

Returns a new permission object that is the union of the current and specified permission objects.

(Inherited from DBDataPermission)

Applies to

See also