首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IIS 7未连接到Sql2008

IIS 7未连接到Sql2008
EN

Stack Overflow用户
提问于 2011-06-07 14:31:03
回答 2查看 875关注 0票数 0

让IIS7连接到Sql2008有一个非常奇怪的问题。

首先,使用VS2010中的默认web服务器,在HTTPModule中,从web.config加载连接字符串,并访问数据库。效果很好。(连接字符串使用集成安全性= SSPI)

但是由于这个网站有一些#include,所以我需要在IIS中调试它,所以我从默认的web服务器切换到IIS。其他的一切都一样。但是,当我试图在SqlConnection中打开同一个HTTPModule时,我发现提供的凭据不是用户,而是机器名。

环境是虚拟机器;Windows 7 64位;IIS7;VS2010;SQL2008

有人能告诉我这是在什么地方或者是怎么设置的吗?Thx

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-06-07 14:39:19

在Visual中运行应用程序时,应用程序以" you“的形式运行。如果您的凭据足以连接到数据库,那么使用Integrated就可以登录。

当您转移到IIS时,IIS将根据您的配置以不同的身份运行进程(但很可能不是“您”)。你有几种选择:

1)给予默认用户IIS在访问数据库的权限下运行(不推荐)

2)将IIS配置为以“您”的身份运行应用程序,或将其配置为专门配置为运行进程的专用用户。

http://technet.microsoft.com/en-us/library/cc771170(WS.10).aspx

3)不使用集成安全性,使用SQL安全性。

这里有一篇文章描述了如何确定在什么用户IIS下运行。

http://blogs.iis.net/davcox/archive/2009/08/12/what-is-my-iis-code-running-as.aspx

票数 0
EN

Stack Overflow用户

发布于 2011-06-07 23:44:38

对任何遇到我同样问题的人来说。

首先,我试图运行存储过程的地方在一个HTTPModule中。此外,我还使用IIS的本地副本进行调试。注意,在VS2010附带的默认IIS服务器中,它运行正常,但在IIS中,它坏了。

显然,您无法在Sql2008的BeginRequest方法中访问远程HTTPModule。它必须在PostRequestHandlerExecute方法中。

其次,我将IIS身份验证设置为包含用户IUSR的AnonymousAuthentication。

另外,我只为该网站添加了ASP.NET模拟,并且该用户对数据库具有权限。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6266810

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档