我正在使用WCF netTCP并传递Windows身份。但EntityFramework不允许WindowsAuthenticated SQL连接。 SQL登录工作正常,但它始终有。我已经验证Thread.CurrentPrincipal确实包含正确的标识(domain \ networkid)。但EntityFramework尝试拒绝机器名称(domain \ machineid)。 (这是一个安全的企业网络)
从WCF服务器返回正确的域\ networked:
var principal = Thread.CurrentPrincipal;
var identityName = principal.Identity.Name;
从SAME服务器,SAME方法,这不起作用:
var myEntities = new Declared_EF5_Entities()
该错误告诉我domain \ machineid $不是该SQL数据库中的有效用户。注意:app.config包含连接字符串并指定IntegratedSecurity=true
。
所有代码在自托管时都没有任何技巧。
这没有帮助:
using (var impcontext = ServiceSecurityContext.Current.WindowsIdentity.Impersonate())
{
var myEntities = new Declared_EF5_Entities()