我无法配置ASP.NET web.config和我的IIS网站以获取我想要的设置。这就是我想要的结果:
如果我在Visual Studio 2008中设置ASP.NET 3.5,这基本上都在本地工作。但是当我部署到IIS时,我可以成功获得前两个子弹,但我无法获得第三个子弹。 Identity.Name为null。我现在部署它的方式是在web.config中将模拟设置为true,并且IIS启用了匿名访问,匿名用户设置为我想要连接到SQL Server的NT ID。
我用来连接SQL Server的连接字符串如下所示:
Server=[My Server];Database=[My DB];Trusted_Connection=Yes;
我尝试过设置其他帖子中建议的授权,但这只会让Internet Explorer弹出一个登录框。
这是运行IIS 6.0的Windows Server 2003。
这可能是一个愚蠢的问题,和/或重复的问题。但我已经做了很多搜索和反复试验,我似乎无法获得神奇的设置。
答案 0 :(得分:0)
默认情况下,机器\ ASPNET帐户或NETWORK_SERVICE帐户,具体取决于您使用的IIS版本(我不确定IIS 7是否正在使用NETWORK_SERVICE但是6确实如此)。如果您需要其他帐户,则会在配置文件(用户名和密码)上应用模拟以运行帐户。现在,您可以使用aspnet_regiis实用程序加密配置部分的这一部分。但你必须提供一个帐户。我不认为你可以在没有我知道的情况下逃脱......除非它可以通过IIS完成。
HTH。
答案 1 :(得分:0)
这称为Double-Hop Problem,禁止将用户凭据转发给第三方。当他们从一台计算机,另一台(第一跳)上的站点进行浏览,并将凭据转发到第三台计算机(第二跳)时,就会发生这种情况。
如果您在同一台计算机上托管IIS和SQL Server,则不会出现此问题。
在How to use the System.DirectoryServices namespace in ASP.NET上发布了更多技术细节,解释了双跳问题以及主要和次要令牌。