从.NET应用程序添加DNS记录

时间:2009-08-10 15:20:30

标签: .net dns wmi

我正在开发一个我们从另一家公司收购的网络应用程序。当您“注册”时,服务器应该使用WMI创建DNS别名。它崩溃了“通用错误”,后来通过将以下标记添加到Web.config文件来解决:

identity impersonate =“true”userName =“administrator”password =“theadminpass”

这很有效,但由于某种原因,它已经崩溃了,显然我从安全的角度来看并不喜欢它。我使用WMI管理工具为管理员,网络服务,网络和aspnet提供root \ microsoftdns完全开放权限,但没有成功。

无论如何,我想知道除了使用WMI来可靠地以及安全地从.NET Web界面中添加DNS记录之外还有其他方法。

3 个答案:

答案 0 :(得分:0)

如果您使用的是IIS 6.1及更高版本,则可以在应用程序池中设置工作进程的标识。我发现使用idenity模拟更可靠,它比配置文件中的用户名和密码更安全(尽管你可以使用aspnet_regiis.exe加密配置的部分)。

至于WMI的替代品,您可以尝试DnDns,尽管我没有注意创建DNS条目。

答案 1 :(得分:0)

(我假设您正在使用Microsoft的DNS服务器)

您可以在DNS区域上设置权限,以便应用程序池正在运行的用户可以创建条目。

答案 2 :(得分:0)

正确设置WMI和DCOM权限以成功更新WMI上的MS DNS可能很困难。似乎MS正在使每个修补程序更难。 John Howard在TechNet上有a blog entry,可以通过Hyper-V远程会话解决这个问题。您基本上需要为MS DNS +设置DNS中的更新权限。

或者,您可能需要考虑使用Simple DNS Plus作为DNS服务器 - 使用.NET API or over HTTP直接进行远程更新要简单得多。