SqlConnectionStringBuilder.IntegratedSecurity 属性

定义

获取或设置一个布尔值,该值指示是否在连接中指定用户 ID 和密码(值为 false 时),或者是否使用当前的 Windows 帐户凭据进行身份验证(值为 true 时)。

public:
 property bool IntegratedSecurity { bool get(); void set(bool value); };
public bool IntegratedSecurity { get; set; }
member this.IntegratedSecurity : bool with get, set
Public Property IntegratedSecurity As Boolean

属性值

IntegratedSecurity 属性的值,或者,如果未提供任何值,则为 false

示例

以下示例将现有连接字符串从使用 SQL Server 身份验证转换为使用集成安全性。 该示例通过以下方式来完成此工作:从连接字符串中移除用户名和密码,然后设置 IntegratedSecurity 对象的 SqlConnectionStringBuilder 属性。

注意

该示例包括一个密码以演示 SqlConnectionStringBuilder 如何使用连接字符串。 在您的应用程序中,建议使用 Windows 身份验证。 如果必须使用密码,请不要在你的应用程序中包括硬编码的密码。

using Microsoft.Data.SqlClient;

class Program
{
    static void Main()
    {
        try
        {
            string connectString =
                "Data Source=(local);User ID=ab;Password=MyPassword;" +
                "Initial Catalog=AdventureWorks";

            SqlConnectionStringBuilder builder =
                new SqlConnectionStringBuilder(connectString);
            Console.WriteLine("Original: " + builder.ConnectionString);

            // Use the Remove method
            // in order to reset the user ID and password back to their
            // default (empty string) values. Simply setting the 
            // associated property values to an empty string won't
            // remove them from the connection string; you must
            // call the Remove method.
            builder.Remove("User ID");
            builder.Remove("Password");

            // Turn on integrated security:
            builder.IntegratedSecurity = true;

            Console.WriteLine("Modified: " + builder.ConnectionString);

            using (SqlConnection connection =
                       new SqlConnection(builder.ConnectionString))
            {
                connection.Open();
                // Now use the open connection.
                Console.WriteLine("Database = " + connection.Database);
            }

        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.Message);
        }

        Console.WriteLine("Press any key to finish.");
        Console.ReadLine();
    }
}

注解

此属性与连接字符串内的“Integrated Security”和“trusted_connection”键相对应。

如果指定了“用户 ID”和“密码”,并且“集成安全性”设置为 true,则将忽略“用户 ID”和“密码”,并使用集成安全性。

SqlCredential是指定使用SQL Server身份验证Integrated Security=false () 的连接凭据的更安全方法。

适用于