使用ASP.NET身份验证/授权与Cassini开发服务器

时间:2011-03-07 11:52:09

标签: asp.net authentication cassini

我刚刚遇到在VS中使用集成开发服务器(Cassini)的问题之一,并希望看看是否有任何解决方案。

我们正在使用asp.net身份验证来保护网站。但是,Cassini以集成管道模式运行,这意味着对所有文件的请求都通过asp.net isapi。这样做的结果是它保护了在生产环境中无法保护的文件(.htm .js .css等...)。

现在我知道我们可以在本地IIS实例上运行该项目,但我们希望尽可能避免这种情况。但是,由于上述问题,这看起来是唯一的解决方案。

是否有任何人对如何让Cassini使用身份验证有任何想法,这些身份验证可以在准备就绪后轻松转移到生产环境中。 (我还想避免使用不同的开发web.config,专门允许访问这些文件)。

顺便说一句,我们正在使用VS2010。

非常感谢。

2 个答案:

答案 0 :(得分:1)

您可以下载并安装IIS Express

,而不是使用Cassini
  

IIS Express是为开发人员优化的轻量级自包含IIS版本。 IIS Express可以轻松使用最新版本的IIS来开发和测试网站。它具有IIS 7的所有核心功能以及旨在简化网站开发的其他功能

答案 1 :(得分:0)

您可以连接到global.asax或HttpApplication.PostAuthenticateRequest中的IHttpModule事件。 PostAuthenticateRequest event on MSDN

在事件处理程序中,检查要取消安全保护的文件扩展名。如果文件扩展名匹配,则将HttpContext.User设置为IPrincipal实例,该实例具有访问指定目录中的文件所需的角色。