我的网页上有一个带有 pdf 文件的子文件夹。
只有在用户登录时才能访问它们,登录信息通过 Microsoft CRM 访问,并且变量存储在缓存中。
代码是用vb.net写的,webserver是IIS7。
如何防止未登录用户访问此文件夹?我一直在寻找一种解决方案,但没有找到一个适用于 CRM 登录的解决方案。
我也一直在研究 url 重写,这样用户就看不到文件的直接路径(www.abc.com/download/test.pdf),而只会看到一个非描述性的 url(www.abc .com/pdf)。但也没有让它发挥作用。
所以我对几乎任何建议都持开放态度,但我不能复制整个用户群或只想为此目的设置一个 sql 数据库。
尼古拉斯的回答适用于以下补充:
使用 fs As New FileStream("C:\www\pdf\abc.pdf", FileMode.Open)
Dim docSize As Long = fs.Length
Dim docStream(CInt(docSize)) As Byte
fs.Read(docStream, 0, CInt (docSize))
Response.ClearContent()
Response.ContentType = "application/pdf"
Response.AddHeader("Content-Disposition", "inline; filename=/_data/checkliste-4-2013-2.pdf")
Response.AddHeader ("Content-Length", docSize.ToString())
Response.BinaryWrite(docStream)
Response.End()
结束使用