在我的login功能中,会连接到Sql Server。开始时我使用Windows authentication。
ctrl+f5运行没有任何问题。但当部署到IIS时,发生无法连接到数据库的错误。
原因是,IIS会使用Windows的account ASPNET来连接数据库,但ASPNET没有权限。
相信在Sql Server的Configuration Manager中,应该会有相应的设置来控制window系统的哪些account可以连接到数据。
但是我没有找到。
我的解决方法是,使用Sql Server authentication来绕开这个问题。
即:
将web.config中的连接字串
由使用SSPI改为使用User Id=【Username】;Password=【Passpword】;
其中【Username】和【Passpword】为能够连接到目标数据库的合法用户的用户名和密码。