ASP.NET模拟使windows标识流通过SQL Server
我有一个打开了模拟的网站 IIS Windows身份验证已打开,匿名访问已关闭 SQL Server安全性已添加域\测试用户帐户 我使用Domain\TestUser登录 浏览测试页面显示HttpContext设置为Domain\TestUser,ApplicationPool设置为Domain\TestUser-它应该。。。但是,我在浏览我的目标网页(尝试连接到sql)时出错,它告诉我“NT AUTHORITY\ANONYMOUS LOGON”正在尝试连接到sql 除此之外,我还从Microsoft网页运行了一个脚本,它告诉我我的帐户将不会通过SQL。 问题是——为什么ASP.NET模拟使windows标识流通过SQL Server,asp.net,windows-authentication,impersonation,windows-identity,Asp.net,Windows Authentication,Impersonation,Windows Identity,我有一个打开了模拟的网站 IIS Windows身份验证已打开,匿名访问已关闭 SQL Server安全性已添加域\测试用户帐户 我使用Domain\TestUser登录 浏览测试页面显示HttpContext设置为Domain\TestUser,ApplicationPool设置为Domain\TestUser-它应该。。。但是,我在浏览我的目标网页(尝试连接到sql)时出错,它告诉我“NT AUTHORITY\ANONYMOUS LOGON”正在尝试连接到sql 除此之外,我还从Micros
IsWellKnown(WellKnownSidType.InteractiveSid))
IsWellKnown(WellKnownSidType.BatchSid))
IsWellKnown(WellKnownSidType.ServiceSid))
上面这些都不是真的,但它们是什么意思
提前感谢,
KS正如David指出的,这似乎是一个双跳问题。与使用基本身份验证不同,另一种解决方法是在SQL Server中使用混合身份验证模式,并从连接字符串传递用户凭据 当然,您始终可以尝试解决双跳问题-请参阅以下链接: (这些给出了基本步骤)
(与上文相同,但采用检查表格式-用于故障排除)听起来您遇到了双跳问题:有趣。。。但是,为什么这篇微软的文章展示了如何实现我所尝试的目标的步骤?!你可以发布你的连接代码(主要是连接字符串)。我认为您需要将Windows身份验证的凭据传递到sql连接中。好的,仔细阅读Microsoft文章后,它说,对于远程服务器(即在另一个框中),您应该清除Windows身份验证并选中basic。这样做是可行的——但那很糟糕,我不希望凭据以明文形式发送,也不希望用户键入凭据。我的连接字符串使用集成安全性顺便说一句。感谢链接-将检查这些!