【发布时间】:2011-11-23 21:33:17
【问题描述】:
我有一个启用了模拟的网站。
IIS Windows 身份验证已开启,匿名访问已关闭。
SQL Server 安全性添加了 Domain\TestUser 帐户
我使用 Domain\TestUser 登录。
浏览测试页面显示 HttpContext 设置为 Domain\TestUser 并且 ApplicationPool 设置为 Domain\TestUser - 它应该...但是我在浏览目标网页(尝试连接到 sql)时出错告诉我“NT AUTHORITY\ANONYMOUS LOGON”正在尝试连接到 SQL。
除此之外,我还从 Microsoft 网页运行了一个脚本,告诉我我的帐户不会流向 SQL。 http://msdn.microsoft.com/en-us/library/bsz5788z.aspx
问题是 - 为什么??
IsWellKnown(WellKnownSidType.InteractiveSid))
IsWellKnown(WellKnownSidType.BatchSid))
IsWellKnown(WellKnownSidType.ServiceSid))
以上都不返回True,但它们是什么意思!?
提前致谢,
KS
【问题讨论】:
-
听起来你遇到了双跳问题:weblogs.asp.net/owscott/archive/2008/08/22/…
-
有趣......但是为什么这篇微软文章显示了如何实现我正在尝试的步骤?! msdn.microsoft.com/en-us/library/bsz5788z.aspx
-
你能贴出你的连接代码(主要是连接字符串)。我认为您需要将 Windows 身份验证的凭据传递到 sql 连接中。
-
好的,仔细阅读了微软的文章——它说对于远程服务器(即在不同的盒子上),您应该清除 Windows 身份验证并检查基本。这样做很有效-但这很糟糕,我不希望以明文形式发送凭据,也不希望用户输入凭据。我的连接字符串使用集成安全顺便说一句。
标签: asp.net windows-authentication impersonation windows-identity