我在
Windows Server 2008上运行带有ASP.NET应用程序的sql Server 2008 Express Edition,该应用程序必须访问服务器. ASP.NET应用程序与在NetworkService帐户上运行的应用程序池相关联.此帐户在所需数据库中的sql Server上具有登录和用户记录.当我尝试运行ASP.NET网站时,我得到一个空白页面,当在错误日志中查看时,我似乎得到了这个信息事件记录:
Login Failed for user ‘NT AUTHORITY\NETWORK SERVICE’.
Reason: Failed to open the explicitly specified database. [CLIENT: myLocalMachine]
连接字符串具有Trusted_Connection = True;和指定的必需数据库.
当我明确指定用户名和密码时,我得到另一个登录错误,说明密码不正确,即使相同的un / pw组合通过sql Server Management Studio工作. NETWORK SERVICE帐户似乎具有数据库的所有必需权限.此外,我做了一个测试ASP.NET网站项目,它从该数据库中的表中进行简单的选择,并使用相同的配置文件,我没有得到错误,它似乎工作.
那么它与信任级别有关,因为原始的ASP.NET Web应用程序引用了各种DLL,包括开源库.此外,应用程序似乎无法写入事件日志本身,抛出安全异常,即使配置文件中的所有内容(包括machine.config)都表明应用程序完全信任.