【问题标题】:Permissions problem when accessing remote files from my Web Service从我的 Web 服务访问远程文件时出现权限问题
【发布时间】:2010-07-16 00:36:41
【问题描述】:

我的网络服务需要打开远程计算机上的一些文件。

我可以在 Windows 中进行身份验证,以便使用文件资源管理器查看这些文件。

如果我在使用 Visual Studio(ASP.NET 开发服务器)运行时尝试从我的 Web 服务打开文件,它也可以工作。

但是,如果我从 IIS 中执行所有操作,则不会。

为了找出问题出在哪里,我做了一个网络嗅探器,我发现在使用 IIS 时,系统会尝试使用帐户 'ASPNET' 登录那些远程计算机,这显然会失败。

但是,如果我从 IDE 运行(使用 ASP.NET 开发服务器),则不会发生这种情况

我发现如果我使用模拟来访问它,它会起作用,问题是我需要在运行 IIS 的计算机上拥有相同的帐户名,所以我不想这样做。

为什么它在 ASP.NET 开发服务器而不是 IIS 中工作?有没有办法授予对 ASPNET 帐户的完全访问权限?

谢谢,希望有人能提供帮助。我不知道还能尝试什么...

【问题讨论】:

    标签: asp.net web-services


    【解决方案1】:

    IIS 上的任何请求都由 ASPNET 用户处理。所以用户 ASPNET 正在工作。我认为您正在使用XP。在Win2K3等上,用户是网络服务

    但 Cassini(Visual Studio 开发服务器)在当前登录的用户下运行。

    所以区别是。您需要根据需要使用模拟。

    【讨论】:

    • 感谢您的回复。是的,我使用的是 Windows XP。那么你的意思是,如果我使用 Win2K3,它应该可以在没有模拟的情况下工作?
    • 绝对不是。这两种情况都需要模拟。
    • @Kangkan:并不总是ASPNET。它是池配置使用的任何帐户。
    • 康康,最后一个问题。是否可以使用模拟而无需在运行 IIS 的计算机上创建这些帐户?谢谢
    • 想想我们为什么需要这个。否则任何人都可以访问这些文件。如果您的文件如此公开,您可以将它们托管在具有匿名访问权限的 HTTP 或 FTP 服务器上。要想访问windows目录下的任何文件/文件夹,系统需要一个帐号。该帐户可以是访客帐户等。考虑在没有用户名的情况下登录您的系统。可能吗?因此,要么进行模拟,要么将它们托管在具有匿名访问权限的 FTP 服务器上。以后你会很开心的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多