wcf数据服务自托管凭证

时间:2012-08-27 09:51:04

标签: wcf wcf-data-services impersonation

我目前正在通过WCF数据服务(System.Data.Services)实现RESTful服务。 我的RESTful服务托管在窗口服务中。没有涉及IIS。

该服务工作正常,但它无法连接到我的sql数据库,因为它需要模拟。

在普通的WCF服务中,我可以通过访问ServiceSecurityContext的WindowsIdentity进行模拟。不幸的是,对于WCF数据服务,ServiceSecurityContext为null,我没有httpContext,因为它是在窗口服务中托管的。

我目前的解决方法是在我的窗口服务中设置固定凭据。虽然这对于开发是好的,但是生产是不可接受的。

是否可以获取调用者的身份以便我可以使用该身份来访问sql server?怎么样?

1 个答案:

答案 0 :(得分:1)

您可以尝试使用:     System.ServiceModel.OperationContext.Current.ServiceSecurityContext.WindowsIdentity