在C#Web服务中构建SqlCredential
我正在使用C#创建一个Web服务。我在主机中有一个SQL数据库,所以我正在构建一个在C#Web服务中构建SqlCredential,c#,asp.net,web-services,C#,Asp.net,Web Services,我正在使用C#创建一个Web服务。我在主机中有一个SQL数据库,所以我正在构建一个SqlConnection实例,以便能够执行查询 但是要使用SqlConnection您需要一个SqlCredential,它需要SecureString才能初始化(或者分配密码) 问题是,SecureString可以很容易地从密码文本框中获取,但是如果想要在没有它的情况下构建它,就不那么容易了(因为它是一个Web服务,所以它没有任何GUI) 我找到的唯一可用方法是SecureString.AppendChar()
SqlConnection
实例,以便能够执行查询
但是要使用SqlConnection
您需要一个SqlCredential
,它需要SecureString
才能初始化(或者分配密码)
问题是,SecureString
可以很容易地从密码文本框中获取,但是如果想要在没有它的情况下构建它,就不那么容易了(因为它是一个Web服务,所以它没有任何GUI)
我找到的唯一可用方法是SecureString.AppendChar()
,因此我必须通过在原始密码字符串上使用循环来构建SecureString
,以便将其字符添加到其中,这对我来说似乎很奇怪
有没有其他方法可以做到这一点
提前谢谢 大多数情况下,人们只需使用Web.config中设置的连接字符串创建Sql连接即可 您可以将连接字符串传递到SqlConnection的构造函数中,如下所示: (在Web.Config中)
有关不同类型的连接和格式的更多信息,您可以在谷歌上搜索信息,但通常会列出布局。我已经看到了这一点,并读到这是不安全的,但无论如何,我要做这篇xD Thanksry,看看这篇关于保护连接字符串的文章(请注意,内部应用程序不会向公众提供web.config,因此不会像人们可能认为的那样不安全):
<connectionStrings>
<add name="nameOfConnectionString" connectionString="Server=myServerAddress;Database=myDataBase;Trusted_Connection=True;" providerName="System.Data.SqlClient" />
</connectionStrings>
var connectionString = Configuration.ConfigurationManager.ConnectionStrings["nameOfConnectionString"].ConnectionString;
var sqlConnection = new SqlConnection(connectionString);