我正在尝试在公司服务器上运行我的MVC应用程序,只有公司用户(很多)才能访问。我是新来的。它应该使用Pass-through Windows身份验证(远程桌面连接上的当前Acc有效)。 MVC连接到位于服务器上的数据库。我已经阅读了大量有关此问题的论坛问题和回复,但我无法找到解决问题的方法。的ConnectionString:
<connectionStrings>
<add name="CaseDBContext" connectionString="Data Source=.;Integrated Security=SSPI;Initial Catalog=TestGeorgi" providerName="System.Data.SqlClient" />
</connectionStrings>
为了清楚起见,我希望每个用户都能够使用自己的Windows acc连接网站(和db),并且必须使用他的名称进行验证,而不是通过“Domain / Servername $”进行验证。这也意味着我无法对单个acc名称进行硬编码并传入连接字符串(我认为)。
我的acc,以及SYSTEM,NETWORK,NETWORK SERVICE,Administrators,IIS_IUSRS,都拥有该站点文件夹的完全控制权限(暂时)。
NT AUTHORITY \ ANONYMOUS LOGON,NT AUTHORITY \ NETWORK SERVICE,NT AUTHORITY \ SYSTEM,DOMAIN \ SERVERNAME $和我的acc可以访问数据库。
如您所见,我已经尝试了很多选项来访问我的网站(BTW在我自己的计算机上工作,连接到外部数据库 - ConnectionString具有不同的数据源ofc)。几乎所有这些努力最终都出现在这个错误中:
System.Data.SqlClient.SqlException: Login failed for user 'Domain\Servername$'.
我不想通过服务器访问它,即使我这样做,也应该有效,因为它有权访问数据库。
请善待我的帮助。提前谢谢!
答案 0 :(得分:0)
解决方案是您需要启用.Net身份验证。准备好在每次发布时启用它,因为这个东西有它自己的脾气......