(IIS/Win2000Pro)授予IIS用户的注册表读取权限?

问题描述:

好的,所以我在我的私人网络上运行一个小型测试网络服务器。我有一台运行Windows 2000 Pro的机器,我试图通过IIS运行一个ASP.NET应用程序。(IIS/Win2000Pro)授予IIS用户的注册表读取权限?

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

我很喜欢“好吧,很简单,我只需通过注册表将该用户权限授予注册表的那部分。”问题是,我没有在regedit的任何地方看到一个选项来改变安全设置...。这让我想到了......我不认为我之前实际上必须改变注册表配置单元/密钥的安全设置,并且我不认为我知道如何去做。

以后半小时搜索网页时,我还没有找到关于此主题的任何可用信息。我想知道的是...如何将安全权限更改为注册表的某些部分?我很难过,似乎我在Google上找到答案的能力让我完全失败......因为我刚刚在这里注册,所以我想我会看看这里有没有人知道。 =)

如果您在Windows 2000注册表编辑器有touble你可以尝试以下方法:

  • 将Windows XP REGEDT32.EXE到Windows 2000机器
  • 使用Windows XP计算机,连接到在Windows 2000远程注册表:。文件>连接网络注册表

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

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

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

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

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

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

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

在我搜索,我发现:

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

其中指出,注册表编辑器适用于Windows 2000不具备安全/权限设置...但它没有提出解决问题的办法。 (谁问的问题是使用Windows XP,所以他没事......但在我的情况下,它是2000年)

有没有什么办法让它发生特别是在2000年?

编辑:啊......如果情况变得更糟,我想我可以做模拟,如下所述......但如果我无法在2000年为注册表设置安全设置,该用户具有管理权限(我假设?)实际上获得这些权利,这可悲地破坏了目的。 =(

哦,让我试试,我不知道,你可以远程连接到另一个注册表

(编辑:我错了,它确实工作...它只需要几分钟来响应我的请求远程更改权限)

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

在另一个说明虽然,关于将XP版本的RegEdit复制到Windows 2000 ...是否安全?我想他们会以不相容的方式编码......但我可以假设太多。 =)

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