浏览器可以模拟.hta文件的安全相关功能吗?

时间:2009-09-11 12:12:28

标签: .net security active-directory hta

目前,我们有一个.hta文件,员工用它来更新其活动目录配置文件的某些元素。这可以减轻系统管理员处理该问题的麻烦。 .hta文件的原因很明显。它提升了许多安全封锁,并允许机器做一些事情(例如更新活动目录配置文件),否则它将无法做到(据我所知)。

我意识到安全隐患,但我们被要求将此.hta应用程序转移到基于浏览器的.net应用程序。这甚至可能吗?如果是,为什么可能呢?这似乎是(并且应该)在浏览器中相对不可能的东西。

1 个答案:

答案 0 :(得分:0)

我想这取决于基于浏览器的.net应用程序的含义。我编写了许多实用程序,这些实用程序作为网页呈现给用户,并更新AD(或其他一些存储库)。在这些情况下,至少应用程序的一部分在服务器上运行。浏览器中的网页只能访问此服务器代码。

这背后有几种技术。我假设你的用户自己运行.hta。你可以使用ASP.NET做类似的事情。 ASP.NET在IIS上运行。如果您使用IE作为浏览器,则可以将IIS(和IE)配置为使用Windows集成身份验证。这意味着IE将Windows安全令牌传递给IIS,以便IIS知道用户是谁以及他们最近已经向DC验证了自己。 IIS将此传递给ASP.NET,因此您的应用程序也可以知道这一点。您可以配置您的应用,以便“冒充”用户并使用其ID执行操作。

或者,您可以定义应用程序使用的凭据,并使用IIS ApplicationPool运行ASP.NET站点,或者在调用AD时直接在代码中使用凭据。当我希望用户能够做一些他们无法使用自己的凭据做的事情时,我已经这样做了,我不想通过将权限委托给他们来授予他们直接访问权限。这意味着我可以为流程添加验证。

您使用名为System.DirectoryServices的.NET命名空间(又称S.DS)(或System.DirectoryServices.Protocols(又名SDS.P))但这很难使用,或.NET附带的System.DirectoryServices.AccountManagement 3.5)您可以使用它来阅读和更新AD。

如果您想了解更多信息,请更新您的问题,我会尽力提供帮助。