【问题标题】:How can I tell what user a VB.Net application is running as and how can I change it?我如何知道 VB.Net 应用程序正在以哪个用户身份运行以及如何更改它?
【发布时间】:2009-06-23 20:45:53
【问题描述】:

我们有一个需要访问网络资源的应用。它是用 VB.Net 编写的。应用程序无法通过 UNC 路径访问另一台服务器上的文件。我们如何才能找出应用程序真正以哪个用户身份运行以及如何更改它?我们尝试了this KB from Microsoft...,但没有成功。

【问题讨论】:

    标签: asp.net vb.net iis


    【解决方案1】:

    如果您想要登录用户的凭据,这里是要访问的属性:

    Page.User.Identity.Name
    

    如果应用程序在应用程序池中运行,则可能设置了某个帐户来模拟其执行,例如本地系统帐户、网络服务或其他。进程下的任务管理器可以显示工作进程的用户名,例如IIS 5.1 中 XP 上的 aspnet_wp.exe。

    如果这些都没有帮助,请说明您正在使用的 IIS 版本以及正在使用的 VB.Net 版本以帮助缩小发生的范围。

    【讨论】:

    • 使用 II6(w3wp.exe,在网络服务上运行)。我想它在默认池中运行。我开始四处摸索,现在看起来 w3wp.exe 正在以我们试图授予权限的用户身份运行……但仍然无法正确访问远程路径。
    • 服务器是否在同一个域中?可能是 Domain1\Network Service 与 Domain2\Network Service 不同。此外,还有两组权限可供查看:UNC 本身的共享权限和服务器上文件的 ACL 权限。
    猜你喜欢
    • 2013-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-14
    • 1970-01-01
    • 2013-06-18
    • 1970-01-01
    相关资源
    最近更新 更多