1

好的,所以我正在我的专用网络上运行一个小型测试网络服务器。我有一台运行 Windows 2000 Pro 的机器,我正在尝试通过 IIS 运行 ASP.NET 应用程序。

我编写它是为了让网页使用注册表来存储某些设置(连接字符串、其他 Web 服务的潜在易失位置、存储某些信息的本地文件系统中的路径等......)当然,它在测试时工作正常使用 VStudio.NET 2005,因为运行该应用程序的用户具有提升的权限。但是,在 IIS 上运行它时,我得到一个“拒绝访问注册表项 'HKEY_LOCAL_MACHINE\Software'。”,这表明 IIS 用户没有对注册表的该部分的读取权限(我只通过网站进行读取)本身,从不写)。

我就像“好吧,很简单,我将通过 regedit 授予该用户对注册表该部分的权限。” 问题是,我在 regedit 中的任何地方都看不到更改安全设置的选项......根本。这让我开始思考......我认为我以前实际上不必更改注册表配置单元/密钥的安全设置,而且我认为我不知道该怎么做。

半小时后在网上搜索,我没有找到任何关于这个主题的有用信息。我想知道的是...您如何更改注册表部分的安全权限?我被难住了,似乎我在谷歌上找到答案的能力完全让我失望了……因为我刚在这里注册,我想我会看看这里是否有人知道。=)

4

6 回答 6

1

如果您在 Windows 2000 中使用 RegEdit 时遇到问题,您可以尝试以下操作:

  • 将 Windows XP RegEdt32.exe 复制到 Windows 2000 计算机
  • 使用 Windows XP 机器,远程连接到 Windows 2000 注册表:文件 > 连接网络注册表
于 2008-08-26T23:38:37.073 回答
0

您可以在要授予用户读/写访问权限的文件夹级别设置权限。

在您的情况下,右键单击“软件”文件夹并选择“权限”。

你可能会从那里知道其余的。

编辑:如果您仍然遇到问题,您可能需要修改您的 web.config 文件并使用模拟让您的 Web 应用程序作为某个用户帐户运行。然后,您可以对控件进行更严格的控制。

于 2008-08-26T23:26:02.500 回答
0

RegEdt32.exe 将允许您设置注册表项的权限。

只需右键单击密钥(文件夹)并单击权限,然后您可以像编辑文件系统文件夹一样编辑权限。

于 2008-08-26T23:28:09.547 回答
0

我这样做了,假设安全设置可用。右键单击密钥时,我没有看到任何“安全”选项。=(我三重检查只是为了确保......我只是在我的 XP 机器上尝试过,它确实有“权限”部分......但 Windows 2000 机器没有。(这对奇怪的?)

在我的搜索中,我发现:

http://www.experts-exchange.com/Programming/Languages/.NET/ASP.NET/Q_21563044.html

其中指出,Windows 2000 的 RegEdit 没有安全/权限设置......但它没有提出解决问题的方法。(问这个问题的人使用的是 Windows XP,所以他没事……但就我而言,它是 2000 年)

有什么方法可以让它在 2000 年实现吗?

编辑:啊……如果情况变得更糟,我想我可以进行如下所述的模拟……但如果我无法在 2000 年为注册表设置安全设置,我只能让该用户拥有管理权限访问(我假设?)以实际获得这些权利,这很遗憾地违背了目的。=(

于 2008-08-26T23:34:08.050 回答
0

哦,让我试试吧!我没有意识到您可以远程连接到另一个注册表。

(编辑:我错了,它确实有效......只需要几分钟就可以响应我远程更改权限的请求)

远程连接的想法做到了!你很厉害!非常感谢你的帮助!我从来没有意识到你可以远程连接 RegEdit……你每天都会学到新东西,他们说!=) 再次感谢您的帮助!=)

不过,另一方面,关于将 RegEdit 的 XP 版本复制到 Windows 2000……这安全吗?我认为它们会以不兼容的方式编码......但我可能假设太多。=)

于 2008-08-26T23:59:59.937 回答
0

只需使用 RegEdt32.exe 而不是 Regedit.exe。转到所需的密钥或文件夹,然后打开安全菜单并单击“权限”。

于 2009-07-28T14:29:30.210 回答