{
RegistryKey hklm=Registry.LocalMachine;
RegistryKey software1=hklm.OpenSubKey("SOFTWARE");
RegistryKey microsoft1=software1.OpenSubKey("Microsoft");
RegistryKey windows1=microsoft1.OpenSubKey("Windows");
RegistryKey currentversion1=windows1.OpenSubKey("CurrentVersion");
RegistryKey run1=currentversion1.OpenSubKey("Run");
RegistryKey ddd=run1.CreateSubKey("ddddd");
ddd.SetValue("www","1234");
foreach ( string sValName in run1.GetValueNames ( ) )
//开始遍历由指定子键拥有的键值名称组成的字符串数组
{
Response.Write("" + sValName + ": " + run1.GetValue(sValName));
Response.Write("<br>");
//在列表中加入键名称和对应的键值
}
}
-------------------错误信息-----------------------------
“/WebApplication1”应用程序中的服务器错误。
--------------------------------------------------------------------------------
无法写入到注册表项。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.UnauthorizedAccessException: 无法写入到注册表项。
ASP.NET 未被授权访问所请求的资源。请考虑授予 ASP.NET 请求标识访问此资源的权限。ASP.NET 有一个在应用程序没有模拟时使用的基进程标识(通常,在 IIS 5 上为 {MACHINE}\ASPNET,在 IIS 6 上为网络服务)。如果应用程序正在通过 <identity impersonate="true"/> 模拟,则标识将为匿名用户(通常为 IUSR_MACHINENAME)或经过身份验证的请求用户。
若要授予 ASP.NET 对文件的写访问权,请在资源管理器中右击该文件,选择“属性”,然后选择“安全”选项卡。单击“添加”添加适当的用户或组。突出显示 ASP.NET 帐户,选中所需访问权限对应的框。
源错误:
行 55: RegistryKey currentversion1=windows1.OpenSubKey("CurrentVersion");
行 56: RegistryKey run1=currentversion1.OpenSubKey("Run");
行 57: RegistryKey ddd=run1.CreateSubKey("ddddd");
行 58: ddd.SetValue("www","1234");
行 59: foreach ( string sValName in run1.GetValueNames ( ) )
源文件: h:\net专区\asp.net-c#\webapplication1\webform1.aspx.cs 行: 57
堆栈跟踪:
17 个解决方案
#1
web默认是匿名访问的.
参考
http://www.microsoft.com/china/technet/security/guidance/secmod38.mspx
参考
http://www.microsoft.com/china/technet/security/guidance/secmod38.mspx
#2
帮你顶一下
#3
因为你本来就没有权限
#4
web默认是匿名访问的.
#5
aspx这个用户应该没有这些权限。如果一定要这样,就在config中启动模拟用户。
#6
直接修改web.config即可:
<system.web>
<identity impersonate="true" userName = "administrator" password="1234"></identity>
....
</system.web>
<system.web>
<identity impersonate="true" userName = "administrator" password="1234"></identity>
....
</system.web>
#7
machine.config
<processmodel ... user=youradmin , password = adminpwd >
香水,,我接分喽。。。
<processmodel ... user=youradmin , password = adminpwd >
香水,,我接分喽。。。
#8
to: net_lover(孟子E章)
能不能跳过密码,访问写入注册表的呀
能不能跳过密码,访问写入注册表的呀
#9
大哥,
两种方法试了都不行呀,还是无法写入注册表呀,还是说我没有权限
<system.web>
<identity impersonate="true" userName = "administrator" password="1234"></identity>
....
</system.web>
machine.config
<processmodel ... user=youradmin , password = adminpwd >
两种方法试了都不行呀,还是无法写入注册表呀,还是说我没有权限
<system.web>
<identity impersonate="true" userName = "administrator" password="1234"></identity>
....
</system.web>
machine.config
<processmodel ... user=youradmin , password = adminpwd >
#10
应该是给iusr赋予这个权限吧
#11
你在ISS里面给IISUSER赋于管理员的权限!
#12
讨厌!讨厌!
#13
开始-运行 regedit,打开注册表编辑器,
在你想要编辑的节点上右击-权限,添加相应的用户并赋予读写权限
注:win2003下asp.net默认的用户是network service
其它为asp_net(印象当中是^_^)
在你想要编辑的节点上右击-权限,添加相应的用户并赋予读写权限
注:win2003下asp.net默认的用户是network service
其它为asp_net(印象当中是^_^)
#14
给aspnet用户添加权限
#15
在Win200的Regedit里不能修改注册表项的权限,你需要运行X:\winnt\system32\regedt.exe来修改权限!!~~~~
#16
各位大侠,那可以修改其它电脑的注册表文件,那要怎么做呢!!!单纯只是技术要求+++
#17
http://www.cnblogs.com/edobnet/archive/2004/06/10/14666.aspx
#1
web默认是匿名访问的.
参考
http://www.microsoft.com/china/technet/security/guidance/secmod38.mspx
参考
http://www.microsoft.com/china/technet/security/guidance/secmod38.mspx
#2
帮你顶一下
#3
因为你本来就没有权限
#4
web默认是匿名访问的.
#5
aspx这个用户应该没有这些权限。如果一定要这样,就在config中启动模拟用户。
#6
直接修改web.config即可:
<system.web>
<identity impersonate="true" userName = "administrator" password="1234"></identity>
....
</system.web>
<system.web>
<identity impersonate="true" userName = "administrator" password="1234"></identity>
....
</system.web>
#7
machine.config
<processmodel ... user=youradmin , password = adminpwd >
香水,,我接分喽。。。
<processmodel ... user=youradmin , password = adminpwd >
香水,,我接分喽。。。
#8
to: net_lover(孟子E章)
能不能跳过密码,访问写入注册表的呀
能不能跳过密码,访问写入注册表的呀
#9
大哥,
两种方法试了都不行呀,还是无法写入注册表呀,还是说我没有权限
<system.web>
<identity impersonate="true" userName = "administrator" password="1234"></identity>
....
</system.web>
machine.config
<processmodel ... user=youradmin , password = adminpwd >
两种方法试了都不行呀,还是无法写入注册表呀,还是说我没有权限
<system.web>
<identity impersonate="true" userName = "administrator" password="1234"></identity>
....
</system.web>
machine.config
<processmodel ... user=youradmin , password = adminpwd >
#10
应该是给iusr赋予这个权限吧
#11
你在ISS里面给IISUSER赋于管理员的权限!
#12
讨厌!讨厌!
#13
开始-运行 regedit,打开注册表编辑器,
在你想要编辑的节点上右击-权限,添加相应的用户并赋予读写权限
注:win2003下asp.net默认的用户是network service
其它为asp_net(印象当中是^_^)
在你想要编辑的节点上右击-权限,添加相应的用户并赋予读写权限
注:win2003下asp.net默认的用户是network service
其它为asp_net(印象当中是^_^)
#14
给aspnet用户添加权限
#15
在Win200的Regedit里不能修改注册表项的权限,你需要运行X:\winnt\system32\regedt.exe来修改权限!!~~~~
#16
各位大侠,那可以修改其它电脑的注册表文件,那要怎么做呢!!!单纯只是技术要求+++
#17
http://www.cnblogs.com/edobnet/archive/2004/06/10/14666.aspx