iis mysql 外部访问,连接到远程访问数据库的权限 - ASP.NET | Microsoft Docs

从客户端连接到远程访问数据库ASP.NET

12/11/2020

本文内容

本文介绍连接到远程访问数据库的权限。

原始产品版本:   ASP.NET

原始 KB 编号:   307901

摘要

本文列出了从以下位置连接到远程 Microsoft Access 数据库所需的最低安全设置ASP.NET包括:

Windows NT文件系统 (NTFS) 设置

Microsoft Internet Information Services (IIS) 设置

本地安全策略设置

ASP.NET配置文件 (Web.config) 设置

本文不包括如何配置数据库连接。

更多信息

当用户浏览到ASP.NET网站时,他们请求在服务器上运行某些代码。 所有进程均在特定帐户的安全上下文中运行。 默认情况下,IIS 使用系统帐户。 系统帐户具有对 IIS 服务器计算机的完全访问权限,但不允许访问其他计算机上的共享文件夹 (有时称为 NTFS 资源) 。 因此,您必须配置 IIS 计算机,以便它使用系统帐户外的帐户。 " 配置 IIS 服务器 "部分介绍了选择备用帐户的几种方法。

将 IIS 设置为在另一个帐户下运行后,必须授予该帐户对使用远程访问数据库所需的所有文件和文件夹的权限,包括:

IIS 服务器上临时文件夹。

在远程计算机上共享。

数据库文件及其文件夹的 NTFS 文件系统权限。

从网络访问远程计算机。

登录到远程计算机的权限。

" 配置访问服务器 "部分介绍如何对帐户设置这些权限。

配置 IIS 服务器

本节介绍如何配置 IIS 服务器。

使用 Web.config 文件启用模拟

若要连接到远程访问数据库,ASP.NET必须将其模拟的用户的安全令牌传递给远程服务器。 如果未在应用程序文件中启用模拟 Web.config,ASP.NET 默认使用系统帐户。 但是,系统帐户无法跨网络进行身份验证。 若要使用不同的帐户,请为给定应用程序Web.config 一个ASP.NET标记。 例如:

...

...

在此配置下,ASP.NET IIS 中模拟经过身份验证的用户。

使用身份验证方法选择标识

使用以下身份验证方法之一选择标识:

匿名身份验证

可以配置要用于 Internet 服务管理器的帐户。 默认情况下,这设置为 Internet 来宾帐户,或IUSR_ 计算机名。 无论使用哪种帐户,如果使用本地帐户 (而不是域帐户) ,则必须按照"复制 IIS 计算机 的本地用户帐户"部分中的步骤操作。

基本身份验证

此身份验证方法要求最终用户在 IIS 计算机或 IIS 计算机信任的域中定义用户名和密码。 由于这允许多个用户 ID,因此必须将所有这些 ID 添加到组。 无论本文指示向模拟用户授予权限,请改为向此组授予这些权限。

如果其中任何帐户是 IIS 计算机的本地帐户,则必须在远程访问计算机上复制每个本地帐户。 为此,请按照"复制 IIS 计算机的本地用户帐户"部分中的步骤 操作。

集成 Windows 身份验证

此身份验证方法仅在网络设置为使用身份验证以及计算机和帐户设置为受 Kerberos 信任进行委派时有效。 否则,不能使用集成 Windows 身份验证访问远程 NTFS 资源上的数据。 这是因为集成 Windows 身份验证仅允许你访问 IIS 服务器,而不允许 IIS 服务器远程访问其他 NTFS 资源。

Web.config设置

使用 Web.config 文件配置ASP.NET以模拟在远程计算机上具有必要访问权限的特定域帐户。 默认情况下,IIS 设置为阻止查看您的网站的其他人看到网站 Web.config内容。 但是,此方法要求您将用户名和密码以纯文本存储在服务器上。

...

...

替代身份验证 上述说明使用标记和身份验证方法,以便 ASP 代码作为用户帐户而不是系统 帐户运行。 无论模拟或身份验证设置如何,还有其他一些不常用的方法作为用户帐户运行。 以下列表概述了其中两种备用方法,但这些方法的详细信息不在本文的讨论范围之内。

单独的进程 可以将所有数据访问函数放在 DLL ActiveX动态链接库 (DLL) DLL 中。 然后,必须为该组件配置组件服务设置,以便它作为其自己的进程运行 (库) 。 在组件服务中的"标识"选项卡上,指定想要使用的用户帐户。

模拟应用程序编程接口 您可以创建一ActiveX DLL,该 DLL 使用应用程序编程接口 (API) 从当前使用的用户帐户切换到任何其他帐户。 然后,您可以在作为其他用户运行时使用 Access 数据库。

配置对临时文件夹的访问权限

Microsoft Jet 数据库引擎将临时文件写入本地计算机的 Temp 文件夹 (此文件夹中是 IIS 服务器,在这种情况下,) 。 必须为此 Temp 文件夹设置适当的权限。

NTFS 权限 此设置要求用户标识 (由前面的模拟说明确定) 对 Temp 文件夹具有 NTFS 完全控制权限。

TEMP 和 TMP 环境变量 您可能需要为系统定义 TEMP 和 TMP 环境变量。 如果未在 IIS 服务器上配置 TEMP 和 TMP 变量,Jet 引擎将尝试将这些文件写入 Windows\System32 文件夹。 由于这对于大多数网站可能无法接受,因此通常配置 TEMP 和 TMP 变量。

这些变量通常已针对计算机上交互用户进行配置。 但是,由于从 IIS 启动的进程无法访问这些变量,因此您可能需要为系统配置 TEMP 和 TMP 变量。 若要为系统配置 TEMP 和 TMP 变量,请按照 Microsoft Windows 2000 中的以下步骤操作:

在 IIS 计算机上,右键单击 "我的 计算机",然后单击"属性"。

在"高级" 选项卡上,单击 "环境变量"。

在 "系统变量"下,搜索 TEMP 变量。 如果此变量不存在,请按照以下步骤添加:

在"环境变量" 对话框中,单击"新建"。

在 "新建系统变量 "对话框的 " 变量名称"文本框中,键入 TEMP。

在 "变量值"文本框中,键入计算机上 Temp 文件夹的位置,然后单击"确定"。

对 TMP 变量重复步骤 3a 至 3c。

配置 Access Server

本节介绍如何配置 Microsoft Access 服务器。

配置 NTFS 权限

但是,如果选择在 ASP.NET 中模拟帐户,如果远程计算机上文件系统为 NTFS,则必须正确设置远程计算机上的权限。 例如,您必须对数据库文件设置以下权限:

读取

写入

执行

更改

此外,还必须对文件所在的文件夹设置以下权限:

读取

写入

执行

删除

更改

如果有多个可能的用户帐户(例如,在基本身份验证或摘要式身份验证中)创建一个组,将用户帐户添加到该组,然后向该组授予权限。

配置共享权限

与 NTFS 文件系统权限一样,还必须设置共享权限以允许同一用户、用户或组访问。

你可能会尝试使用管理共享,Windows 会为每个驱动器创建管理 (例如 C 驱动器) 。 但是,最好创建新共享,因为管理共享要求您将使用该共享的所有用户添加到管理员组。

如果数据库存储在 Microsoft Windows 平台外的平台上,则必须针对目标平台适当地配置此共享。

复制 IIS 计算机的本地用户帐户

若要向模拟用户授予共享和 NTFS 权限,Access 计算机必须识别该用户帐户。 如果该帐户是域帐户,您可以将其添加到这两台计算机上的权限列表中。 如果一个或多个帐户是 IIS 计算机上的本地帐户,则 Access 计算机上无法识别该帐户。 若要解决此问题,请使用相同的用户名和密码在 Access 计算机上创建重复的本地帐户。

配置本地安全策略权限

还必须授予相同的帐户、帐户或组权限才能访问本地安全策略中的计算机,除非帐户或帐户已属于具有权限的组 (如 Everyone 组) 。 您必须授予以下权限:

本地登录

从网络访问此计算机

若要访问本地安全策略编辑器,请按照以下步骤操作:

在控制面板中,双击 管理工具,然后双击"本地安全策略"。

展开 "安全设置" 节点、"本地策略"节点和"用户权限分配"节点,以从网络权限访问本地登录权限和访问 此 计算机。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值