我目前在IIS 7上运行ASP.NET 3.5 SP1。我已使用.NET Membership启用了表单身份验证,并根据我创建的角色设置了一些受限制的文件夹。例如,如果匿名访问者尝试访问文件http://www.example.com/restricted/foo.txt,他/她将按预期重定向到登录页面。到目前为止一切都很好。
我想要做的是通过允许访问者在查询字符串中指定他们的登录凭据来提供对受保护文件的访问,仅此一行:
http://www.example.com/foo.txt?user=username&pass=pwd
这有可能吗?
答案 0 :(得分:0)
您应该能够编写一个拦截请求的http模块,并根据查询字符串对用户进行身份验证。但是,仅仅为了完整起见,我想问一下,以明文形式向用户提供用户名和(特别是)密码是否是一个好主意。
答案 1 :(得分:0)
您可以轻松创建一个下载页面,该页面将对用户进行身份验证,然后将其转发到所请求的文件。导航到Download.aspx?user = username& pass = pwd& file = foo.txt之类的东西。
不建议这样做。您绝不应要求用户通过网址传递登录信息。
答案 2 :(得分:0)
根据您对其他问题所做的评论,您可以简单地将下载页面放在目录中。子文件夹可以有一个web.config,允许未经身份验证的用户访问以下内容: - )
类似的东西:
<configuration>
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</configuration>