【发布时间】:2023-03-09 20:18:01
【问题描述】:
我正在为 Office 构建一个插件,在其中我要打开浏览器并导航到一个内部站点,该站点也通过 dns 公开,以便可以从网络/域外部访问它。
现在,为了访问这个站点,我需要知道我是在域网络内部还是外部。如果我在里面,我需要通过内部 ip 访问,否则通过暴露的 dns 地址访问。 这就是我问堆栈溢出的聪明人的地方,如果你们中的任何人知道一种方法来查看计算机当前连接的网络是否确实是计算机/用户所属域的网络?
我一直在关注Environment.UserDomainName 和Domain.GetComputerDomain。理论上,这两个都可以帮助我找到域名(未经测试,但希望它可以工作),但它们都不能帮助我确定当前网络是否是域网络。
非常感谢任何建设性的反馈!
编辑 在某些时候,这个附加组件应该被出售给不同的客户,所以我不能依赖像 IP 以特定方式查找这样简单的东西。 无论计算机连接到何种网络,解决方案都必须能够工作。
【问题讨论】:
-
某人在 a 域中,并不一定意味着他们在您感兴趣的 域中(除非这超出了您的系统的使用方式)
-
我完全意识到这一点,这就是为什么我在我的问题中专门写了以下内容:“如果计算机当前连接到的网络,确实是该域的网络计算机/用户属于?”澄清一下,我想知道我当前的网络连接是否与我的域网络相同。
-
但是从外部连接到该系统的用户的性质是什么 - 他们目前是否有可能坐在另一个组织内,使用连接到 that 组织的域?这种情况是否有效?
-
这确实是一个有效的情况。它既可以是我们组织网络中的某个人,也可以是例如访问另一个组织的推销员通过此应用程序设置某些内容,这些内容必须保存在他自己组织的数据库中;保存我在问题中提到的内部网站信息的数据库。
标签: c# .net active-directory network-programming