【问题标题】:How do I configure a upload folder in IIS6 and asp.net? win server 2003 sp2如何在 IIS6 和 asp.net 中配置上传文件夹?赢服务器 2003 sp2
【发布时间】:2011-09-21 08:32:00
【问题描述】:

我有一个内部 asp.net 应用程序,它使用 fileupload 控件将数据文件放在“drop”文件夹中。我想锁定这个文件夹,这样只有属于本地组的用户才能真正验证和上传文件。 我在服务器上创建了一个组,将域用户添加到本地组。然后,我授予该组对“drop”目录的写入权限。

当我尝试将文件上传到目录时,我得到了预期的登录屏幕,但我的登录不起作用,并且在多次尝试后页面错误“Access to path '\server\path\fubar\丢弃文件夹名称\文件名.txt”被拒绝”

我如何设置它以使每个用户都必须登录但登录确实有效? TIA J

【问题讨论】:

  • 这更像是一个服务器配置问题。应该迁移到 serverfault.com
  • 但这与 ASP.net 安全有关,两者携手合作。

标签: asp.net file-upload permissions iis-6 windows-server-2003


【解决方案1】:

您遇到了权限问题。

1) 您需要在 IIS 网络服务器 (http://msdn.microsoft.com/en-us/library/134ec8tc.aspx) 上设置模拟。这将允许网络凭据从任何 Internet Explorer 浏览器传递到 Web 服务器。

2) 然后您需要右键单击上传文件夹,然后转到 'properties' --> 'security' --> 'edit' --> 'add' --> 输入用户名/groups --> 点击确定 --> 选择正确的权限(读取和修改)。

注意:如果您正在操作内部 Web 应用程序,则不需要用户登录。这就是模拟的全部意义所在。如果人们已经在网络上进行了身份验证,那么让他们登录是没有意义的。

如果您必须让他们从顶部登录,那么您需要根据您的 AD 服务器验证他们,然后像​​这样以编程方式更改页面正在运行的用户:

protected void Page_Load(object sender, EventArgs e)
    {
        this.User.Identity = new NetworkCredential("username", "password");
    }

【讨论】:

  • 我浏览了 #1 中引用的文章,然后应用了步骤 #2。我并不特别需要登录提示,实际上更希望它不显示。我仍然收到登录提示,我的非域管理员帐户仍然给出错误。和以前一样,如果我使用域管理员帐户,它可以正常工作。
  • 首先要做的是获取从 IE 传递到应用程序的凭据。我会首先设置一个页面并将 this.user.Identity 写到屏幕上。然后从不同的机器上尝试,看看 Web 服务器是否正在接收并将正确的详细信息传递给 .net。然后看下一个问题。
  • 看看这个:msdn.microsoft.com/en-us/library/ff647405.aspx,让网站开始模拟,然后单独查看您的其他问题。把问题分解一下。有可能你只需要一次一步完成。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-15
  • 1970-01-01
  • 2013-04-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多