[MVC 5应用程序连接到SQL Server:选择权限被拒绝

问题描述 投票:0回答:1

我有一个连接到SQL Server的MVC应用程序(我使用ADO.NET Entity Framework 6.0进行数据库首次安装)。当我在笔记本电脑上调试时,它可以正确连接到SQL Server,并呈现页面而不会出现问题。但是,当我发布并连接到远程服务器(也托管SQL Server实例)时,出现错误:Select permission was denied。值得注意的是,此设置仅在连接到公司网络(或使用VPN)且服务器仅是Intranet时才起作用。

我一直在寻找潜在的解决方案,并且数据库上的用户帐户具有db_datareaderdb_datawriter权限。我的连接字符串要求输入integrated security=True

我使用这些设置从桌面应用程序访问同一数据库,没有任何问题,所以我认为IIS评估用户的方式有所不同。

为了进行数据库访问,服务器被设置为将所有人分配到一个帐户中,因此所有DOMAIN\USERS都映射到一个名为DOMAIN\MyDatabaseUser的帐户中。

此用户在数据库/安全性/用户属性窗口中具有正确的权限。

我看了一个类似问题的答案,该问题涉及IIS应用程序池,但是该问题导致登录失败,我没有看到。

这是我的连接字符串:

<connectionStrings>
<add name="PMToolsEntities" connectionString="metadata=res://*/Models.PMToolsModel.csdl|res://*/Models.PMToolsModel.ssdl|res://*/Models.PMToolsModel.msl;
provider=System.Data.SqlClient;
provider connection string=&quot;
data source=SERVER\MySQLExpressInstance;initial catalog=MyDatabase;
integrated security=True;
MultipleActiveResultSets=True;
App=EntityFramework&quot;" 
providerName="System.Data.EntityClient" />

我曾尝试将集成安全性设置为SSPI,但得到的结果相同。我也为笑而完全删除了集成安全性设置,然后按预期方式出现登录失败(用户“”登录失败)。

这是MyDatabaseUser的权限外观:

Database role memberships

我基本上添加了所有东西,除了可以肯定的拒绝物品,但是我还没停下来。

我有一个连接到SQL Server的MVC应用程序(我使用ADO.NET Entity Framework 6.0进行数据库首次安装)。当我在笔记本电脑上调试时,它可以正确连接到SQL Server并呈现...

sql-server asp.net-mvc ado.net-entity-data-model
1个回答
0
投票

Here是最终帮助我的链接(还有一个耐心的IT专家,他让我在我通常无法访问的服务器上浏览)。

© www.soinside.com 2019 - 2024. All rights reserved.