【发布时间】:2013-10-18 18:04:39
【问题描述】:
我们正在开发一个非常标准的网站,该网站使用 WCF 服务从数据库中检索数据。
网站 (ASP.Net MVC) 具有对 WCF 服务的服务引用 WCF 服务有权访问数据库
作为我们要求的一部分,我们需要在网站上启用基本身份验证。
当我们在站点上启用它并在 WCF 服务上禁用它时,站点会要求提供凭据,但 SQL Server 会抛出错误,提示用户“NT AUTHORITY\IUSR”登录失败。
如果我们在站点和服务上都启用它,当我们在创建服务的“客户端”实例后尝试执行查询时,它会抛出异常“未提供用户名。在 ClientCredentials 中指定用户名。 ”。
我知道我可以将服务配置为作为有权访问数据库的特定用户运行,或者在创建服务客户端时“硬编码”凭据,但某些存储过程中的逻辑(我们不控制)依赖于知道谁在执行查询。
在这种情况下,最好的方法是什么?有没有办法自动将用于登录网站的凭据传递给 WCF 服务?
非常感谢!
【问题讨论】:
标签: asp.net wcf basic-authentication