我将从道歉开始;我不确定这是否最好张贴在这里的服务器故障所以如果它在错误的地方然后请移动:-)
基本信息
我在工作中编写了一个新应用程序的第一个模块。这是使用 Visual Studio 2010 编写的,目标是 .net 3.5(目前)和 asp.net mvc 2。这在 VS 的内置开发服务器上运行的开发过程中运行良好,但是一旦部署到 IIS 7 就无法运行/7.5。
为了部署应用程序,我在发布模式下构建了它,并通过在解决方案资源管理器中右键单击项目创建了一个部署包(一旦从 beta 升级,这将通过 tfs 中的自动构建来完成)。然后将其导入服务器上的 IIS。
该应用程序正在使用 Windows/域身份验证。
问题 #1
我可以启动 Internet Explorer 并从客户端计算机以及远程桌面连接上浏览到应用程序。我可以在远程桌面上的 IE 实例中执行读取/存储数据的代码,但如果我从客户端 PC 浏览到它,它似乎会丢失会话状态。我单击表单提交,页面刷新并且不执行所需的代码。我试过设置;InProc、SQLServer 和 StateServer。但没有运气:-(
问题 #2
作为应用程序的一部分,它可以即时查看办公网络上的网络共享上的 PDF 和 Tiff 文档,如果之前未查看过该文档,它还会创建缩略图。如果在应用程序部署到的机器上运行,则此方法有效;但是,当从客户端 PC 浏览时,我收到一条错误消息:
拒绝访问路径 '\\fileserver\folder\file.tif' 说明:在执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。
异常详细信息:System.UnauthorizedAccessException:对路径“\\fileserver\folder\file.TIF”的访问被拒绝。
ASP.NET 无权访问请求的资源。考虑向 ASP.NET 请求标识授予对资源的访问权限。ASP.NET 有一个基本进程标识(通常是 IIS 5 上的 {MACHINE}\ASPNET 或 IIS 6 上的网络服务),如果应用程序不模拟,则使用该标识。如果应用程序通过 模拟,则身份将是匿名用户(通常是 IUSR_MACHINENAME)或经过身份验证的请求用户。
由于这是在不同的服务器上,因此无法访问用户。为了解决这个问题,我尝试过:
1 - 将应用程序池设置为以域管理员身份运行(我知道这是一个安全风险,但我现在只是想让它工作!)
2-将万维网发布服务的登录帐户设置为域管理员。尝试重新启动服务时,我得到...
Windows 无法在本地计算机上启动万维网发布服务服务。
错误 1079:为此服务指定的帐户与在同一进程中运行的其他服务指定的帐户不同。
当我把头发拉出来时(我只剩下很少的东西),任何指示/帮助都会非常有用。
更新
我一直在使用我发现的这个时髦的小工具 - DelegConfig v2 beta (Delegation / Kerberos Configuration Tool)。这真的很有用。所以我已经可以访问文件共享(有一个可以读取文件的测试页面)所以现在我刚刚遇到了将用户凭据传递到 SQL Server 的问题(不是我的选择这样做!!)执行查询等,但我无法让它以用户身份登录。它尝试以没有 sql 登录名的“NT Authority\Network Service”身份访问它(登录用户也应该如此)。
我的连接字符串是:
<add name="User" connectionString="Data Source=.;Integrated Security=True" providerName="System.Data.SqlClient" />
没有指定初始目录,因为系统位于多个 dbs 上(也不是我的选择!!)。
到目前为止,我真的很感谢所有的帮助!:-)
还有什么提示吗?!