【问题标题】:authentication issue of IIS 6.0IIS 6.0 的身份验证问题
【发布时间】:2009-09-20 05:10:50
【问题描述】:

我正在使用 Windows Server 2003 + VSTS 2008 + .Net 3.5 + C# + ASP.Net + IIS 6.0。我在Web服务器上托管了一些文件(wmv视频文件和html文件),我想知道是否有任何易于使用的身份验证方法让用户输入用户名和密码才能访问(我想阻止匿名访问)?由于网站也有aspx ASP.Net页面,我想对wmv、html和aspx页面使用统一的认证方案。如果更喜欢使用存储在我的应用程序已经拥有/使用的 SQL Server 数据库中的用户名和密码的任何解决方案。

有什么想法吗?

【问题讨论】:

  • 嗨,米奇,我在这里的时间里弄丢了我的 Open ID 帐户(不知道为什么),我似乎在这里有一个具有相同电子邮件帐户和名称的帐户,但不同用户,不知道为什么。我无法将之前几乎一半的回复标记为已回答。您可以查看我最近的答案评分率很高。
  • “我无法将之前几乎一半的回复标记为已回答。” -- 错误信息是,您不能将其他人提出的问题标记为已回答。这很奇怪。

标签: c# asp.net .net visual-studio-2008 iis-6


【解决方案1】:

看看插入到 asp.net 管道中的Custom HTTP Modules。您可以在您希望保护的任何资源上有效地插入身份验证层。

【讨论】:

  • 我觉得客户的Http Module只能处理aspx请求,能不能处理非aspx请求,比如html和wmv?
  • 哦,你升级到 Server 2008 和 IIS 7
  • 对不起,我不能。看起来唯一的解决方案是编写 ISAPI 过滤器?没有其他更简单的解决方案?
  • 您应该能够映射您希望由 .net 管道处理的任何扩展名,当这种情况发生时,您的自定义 http 模块将为您的 wmv 文件触发,并且可以从那里管理身份验证。
【解决方案2】:

我建议您查看ASP.NET Membership Provider

这是我见过的最“统一”的身份验证解决方案,它为 asp.net 开发人员提供了开箱即用的方式。

这样,您可以使用默认的 asp.net sql 成员资格提供程序(或创建您自己的实现),让它设置您的用户/角色表(如果您使用的是 sql 成员资格提供程序),然后锁定每个文件夹以在您的 web.config 中进行身份验证。

到目前为止,我已经在许多项目中使用了成员资格提供程序(以及角色提供程序),并采用了许多不同的实现方式。

另外,看看How To: Use Forms Authentication with SQL Server in ASP.NET 2.0

【讨论】:

  • 谢谢,我认为您的解决方案仅适用于 aspx 文件,不适用于 html/wmv 文件。有没有cmets?
  • 看看support.microsoft.com/kb/316871你可以为单个文件设置授权(不管是不是aspx)。
【解决方案3】:

使用 IIS 6 时,如果您想利用 ASP.NET 表单身份验证来限制对非 ASP.NET 文件和资源(.pdf, .gif, .jpg, .wmv 等)的访问,则必须将通配符映射到 ASP.NET 2.0 ISAPI 过滤器。

您可以通过以下方式执行此操作:

Web Site Properties -> Home Directory Tab -> Click Configuration -> Mappings Tab

单击“插入”按钮,在标有“可执行文件”的文本框中添加以下路径:

c:\windows\microsoft.net\framework\v2.0.50727\aspnet_isapi.dll

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-02-18
    • 1970-01-01
    • 1970-01-01
    • 2021-07-11
    • 2019-09-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多