0

我们正在开发一个非常标准的网站,该网站使用 WCF 服务从数据库中检索数据。

网站 (ASP.Net MVC) 具有对 WCF 服务的服务引用 WCF 服务有权访问数据库

作为我们要求的一部分,我们需要在站点上启用基本身份验证。

当我们在站点上启用它并在 WCF 服务上禁用它时,站点会要求提供凭据,但 SQL Server 会抛出一个错误,指出用户“NT AUTHORITY\IUSR”的登录失败。

如果我们在站点和服务上都启用它,当我们在创建服务的“客户端”实例后尝试执行查询时,它会抛出异常“未提供用户名。在 ClientCredentials 中指定用户名。”。

我知道我可以将服务配置为作为有权访问数据库的特定用户运行,或者在创建服务客户端时“硬编码”凭据,但是某些存储过程中的逻辑(我们没有控制)依赖于知道谁在执行查询。

在这种情况下,最好的方法是什么?有没有办法自动将用于登录站点的凭据传递给 WCF 服务?

非常感谢!

4

1 回答 1

0

我认为这基本上取决于您使用的托管类型。

于 2013-10-31T09:39:07.877 回答