Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用Web服务为Windows窗体客户端运行SQL查询_C#_Sql_Web Services - Fatal编程技术网

C# 使用Web服务为Windows窗体客户端运行SQL查询

C# 使用Web服务为Windows窗体客户端运行SQL查询,c#,sql,web-services,C#,Sql,Web Services,我需要使用在远程客户端上运行的Windows应用程序,该客户端将连接到web服务。web服务将访问SQL数据库以验证用户和角色,并执行其他任务。我使用ASP.NET成员身份管理用户和角色。我拥有ASP.NET会员资格,并且在开发机器上使用web服务。我有一个带有服务引用的windows客户端,当我访问不访问数据库的方法时,该客户端可以正常工作,但当我尝试访问访问数据库方法的服务方法时,用户与可信的SQL Server连接没有关联。根据我试图修复的内容,我会收到各种权限错误,但这是要点。我不希望W

我需要使用在远程客户端上运行的Windows应用程序,该客户端将连接到web服务。web服务将访问SQL数据库以验证用户和角色,并执行其他任务。我使用ASP.NET成员身份管理用户和角色。我拥有ASP.NET会员资格,并且在开发机器上使用web服务。我有一个带有服务引用的windows客户端,当我访问不访问数据库的方法时,该客户端可以正常工作,但当我尝试访问访问数据库方法的服务方法时,用户与可信的SQL Server连接没有关联。根据我试图修复的内容,我会收到各种权限错误,但这是要点。我不希望Windows客户端需要DB权限。我希望它向web服务发送用户名和密码,然后web服务包装成员资格。ValidateUser(用户名、密码)


有人能告诉我如何设置这个吗?

< P>你应该考虑设置SQL Server来使用SQL和Windows身份验证(混合模式)。它很可能仅在Windows身份验证模式下运行。您可以查看链接以开始


听起来,按照你设计的方式,你必须为每个用户设置一个帐户。根据我的经验,最好只创建一个具有必要权限的特定SQL帐户,并让每个客户机使用该帐户。您可以在连接字符串中指定此项。

假设您已在SQL中启用命名管道身份验证,则ASP.NET应用程序中的SQL连接字符串可以配置为使用集成安全性(
数据源=myServerAddress;初始目录=myDataBase;集成安全性=SSPI;
)。然后在SSMS中,为数据库授予适当的ASP.NET用户权限。IIS使用的用户取决于您正在运行的IIS版本,并且可以在相关服务器的应用程序池配置中看到