【问题标题】:How to tell what account my webservice is running under in Visual Studio 2005如何判断我的 Web 服务在 Visual Studio 2005 中运行的帐户
【发布时间】:2010-10-21 11:16:49
【问题描述】:

我有点疯了,试图理解关于模拟和委托的文档,问题是我的网络服务在哪个帐户下运行。

我在名为 JOHNXP 的开发工作站上登录为 myDomainName\johna。从 Vstudio2005 我通过 Debug 启动我的 web 服务,然后 wsdl 页面出现在我的浏览器中。

在任务管理器中,我在 .asmx 代码的断点处看到以下内容:

aspnet_wp.exe pid=1316 用户名=ASPNET devenv.exe pid=3304 用户名=johna

托管我的 ws.asmx 代码的虚拟目录的 IIS 目录安全选项卡未选中“启用匿名访问”并选中“集成 Windows 身份验证”。

因此,当 MSDN 人员声明“您必须配置运行服务器进程的用户帐户”时,对于上述我的小 Web 服务,他们指的是什么?

我引用自: http://msdn.microsoft.com/en-us/library/aa302400.aspx

最终,我希望我的这个网络服务能够模拟任何经过身份验证的域用户浏览到我的网络服务的调用。我的 web 服务反过来在不同的服务器(但相同的域)上使用另一个 ASMX web 服务。我需要这个远程 Web 服务来使用模拟的域用户凭据(而不是我在 JOHNXP 上的 Web 服务)。

所以我有点难以理解这一点,我发现我不清楚我的网络服务使用的帐户。我认为它是 WinXP 上 IIS 5.1 中的 ASPNET,但不确定。

【问题讨论】:

    标签: windows security asmx impersonation


    【解决方案1】:

    对了,上面除了答案,其实应该是:

    <system.web>
      <!-- ASP.NET runs as the specified user -->
      <identity impersonate="true"
                userName="DOMAIN\user"
                password="password" />
    </system.web>
    

    用户名需要大写N -> userName

    希望对你有帮助

    【讨论】:

      【解决方案2】:

      默认情况下,在 ASP.NET 之上运行的任何应用程序(包括 ASMX Web 服务)都将在 ASP.NET 机器帐户 (ASPNET) 安全上下文下执行,该安全上下文在主机上具有受限权限.

      可以通过启用模拟来更改此行为,这将导致 ASP.NET 应用程序在经过身份验证的用户或特定用户帐户的安全上下文下执行。在 Web.config 文件中启用了模拟:

      <system.web>
        <!-- ASP.NET runs as the authenticated user -->
        <identity impersonate="true" />
      </system.web>
      
      <system.web>
        <!-- ASP.NET runs as the specified user -->
        <identity impersonate="true"
                  username="DOMAIN\user"
                  password="password" />
      </system.web>
      

      如果在 IIS 中启用了集成 Windows 身份验证,并且禁用了匿名 Internet 用户帐户,则经过身份验证的用户将是发出 HTTP 请求的客户端的 Windows 身份。
      启用模拟后,ASP.NET 工作进程在处理请求时将使用相同的身份。

      【讨论】:

      • 我忘了提到我的 web.config 中有 用于我的 web 服务。因此,我得出结论,这会导致整个服务使用经过身份验证的用户的凭据运行。谢谢你的回答。
      猜你喜欢
      • 1970-01-01
      • 2010-10-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-14
      • 1970-01-01
      • 1970-01-01
      • 2019-12-04
      相关资源
      最近更新 更多