asp.net - ASP.NET 基于角色的授权无法找到服务器/数据库
问题描述
情况如下:
- SQL Server 数据库托管在云中。
- 允许远程访问。
- 用户 ID 和密码在根文件夹中 web.config 文件的连接字符串中提供。
- 测试连接成功。
- Web 应用程序具有多个具有基于角色的授权的文件夹。每个文件夹都有自己
web.config
的授权文件。
当我从 Visual Studio 2019 以调试模式运行应用程序时,一切正常。
问题:
当我在托管数据库的同一服务提供商提供的共享服务器上发布/托管应用程序时,应用程序无法找到服务器/数据库。
我已经缩小了web.config
文件中负责授权的代码块导致问题的范围。
删除授权后,可以访问数据库。但是当我放置文件夹级别授权时,应用程序无法找到服务器/数据库。
这是错误:
建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。(提供者:SQL 网络接口,错误:26 - 错误定位服务器/指定的实例)
以下两种方法分别尝试并导致此问题。
方法一:
<authorization>
<allow roles="ADMIN"/>
<deny users="*"/>
</authorization>
方法二:
<location path="PagesAdmin">
<system.web>
<authorization>
<allow roles="ADMIN"/>
<deny users="*"/>
</authorization>
</system.web>
</location>
解决方案
推荐阅读
- c - 如何使用 c 解决控制台中输出不正确的问题
- c++ - std::move 一个将被覆盖的变量
- c++ - 关于 Leela Zero 的问题
- python - 打印 Python 字典时,在换行符 (\n) 前面出现附加 \
- asp.net-core - 为什么 ASP.Net Core Identity 使用字符串作为其主键属性?
- python - MacBook 上的不同 Python 路径在终端和 IDLE 中使用
- docker - 在 docker 中构建并运行您的图像 - 网络问题
- laravel - Laravel 路由使用 2 个模型和 2 个控制器
- ios - 选择器(SegmentedPickerStyle)中的选择效果不佳 - SwiftUI
- python - 无法将_keys 发送到输入字段,尽管能够找到它