【问题标题】:Access network share using Windows authentication使用 Windows 身份验证访问网络共享
【发布时间】:2009-10-08 18:01:59
【问题描述】:

在为我们的 Intranet 编写应用程序时,我经常遇到这种情况。

假设我们有一个名为“\\server1\myfolder”的网络共享,我正在编写一个需要从那里读取文本文件的应用程序。对共享的访问非常有限,这很好。如果有人无权访问该文件夹,应用程序会捕获错误并告诉用户他们无权访问。

当我在本地运行它时效果很好,但是当我将应用程序发布到测试服务器时,它永远无法访问该文件夹,无论是谁在运行该应用程序。理想情况下,该应用会模拟用户并使用他们的凭据,但我似乎永远无法正确设置它。

我的 web.config 是这样设置的:

<authentication mode="Windows"/>
<identity impersonate="true"/>

我也尝试过 impersonate="false",但这并没有什么不同。有人可以向对 IIS 知识非常有限的人解释这里发生了什么(顺便说一下,这是在 IIS 6 上运行的)吗?知道这应该如何设置,还是不可能?

【问题讨论】:

    标签: asp.net iis authentication iis-6


    【解决方案1】:

    这之前的帖子类似,并且包含一个有效的答案:

    Access files from network share in c# web app

    这个也是

    Asp.net Access To Network Share

    【讨论】:

    • 当我尝试创建 System.Security.Principal.WindowsIdentity 时,我得到的只是“不正确的功能”,无论我通过什么。我肯定将我的用户主体名称传递给它,但它无法识别它。
    【解决方案2】:

    检查您的 IIS 目录安全设置。您需要关闭匿名身份验证并打开 Windows 身份验证。

    【讨论】:

    • 那些似乎已经是这样了。不勾选“启用匿名访问”,勾选“集成Windows身份验证”。
    • 是的,我忘记了大卫提到的内容。你应该看看他发布的内容。
    猜你喜欢
    • 1970-01-01
    • 2018-12-11
    • 2015-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多