我可以使用调用者的信用来打数据库的 WCF 调用吗?
Posted
技术标签:
【中文标题】我可以使用调用者的信用来打数据库的 WCF 调用吗?【英文标题】:Can I have a WCF call that hits the DB use the creds of the caller? 【发布时间】:2010-10-13 16:10:39 【问题描述】:我已经阅读了很多关于模拟的内容,并且在我的配置文件中尝试了很多标签。我已经在我的方法上尝试了[OperationBehavior(Impersonation = ImpersonationOption.Required)]
访问数据库。
这些都不起作用。根据我的配置设置方式,我会收到各种各样的错误消息。
谁能为我列出需要什么 C# 和配置(即绑定、行为、端点设置)才能使以下场景正常工作:
我通过 WCFTestClient 调用 WCF 方法。 WCF 方法托管在 IIS 中(在数据库中不是有效用户的 IIS 用户下运行)。 该方法查看调用者是谁,并将这些凭据传递给对数据库的调用 对数据库的调用在不同的项目(类库)中并使用 Linq-to-sql 数据库执行该操作,就好像 WCF 服务的调用者已经完成了一样。如果有人澄清了这个谜团,请与我分享详细信息。
谢谢!
(注意:我正在 Visual Studio 2010 Ultimate 中开发并托管在 IIS 7 中)
【问题讨论】:
【参考方案1】:有一个关于如何设置impersonation in WCF here 的精彩演练。您可能缺少servicebehavior
设置?
【讨论】:
以上是关于我可以使用调用者的信用来打数据库的 WCF 调用吗?的主要内容,如果未能解决你的问题,请参考以下文章
查找 WCF 服务调用者的 Active Directory 域用户名