2016-10-20 23 views
1

隨着DotNetNuke,我發現使用安全文件夾的選項。我們如何保持給定安全文件夾中文件的完整URL正常? (即沒有令牌過程附加到URL並顯示文件夾的完整路徑)。DNN安全文件夾更改文件的URL

有很多原因讓我需要文件的路徑/名稱對其原始位置可讀。是的,我希望該文件夾僅對那些對該位置有特權的成員可訪問,但不能以使用令牌更改路徑/文件名的代價。

如果是這樣,無論您登錄與否,你應該注意到的

http://dnnsite.com/my-secure-folder/my-file.pdf 
  • 的所有腦幹如果您已註銷,然後一個動作發生說你不允許查看該文件。

  • 如果您已經登錄,那麼你要這個URL衆目睽睽訪問

感謝

回答

2

它不會是安全的呢。要以您的網址形成的方式訪問文件,您必須使用「普通」文件夾,但無法實現限制訪問的目標。

解釋:上傳到安全文件夾的文件會得到一個額外的擴展名(「.resources」)爲其原始文件名。具有此擴展名的文件不會由IIS提供(至少不在默認設置中),並且DNN提供文件處理程序(「LinkClick.aspx」),該文件處理程序提供帶有此擴展名的文件,還確保試圖訪問安全文件夾中所需權限的文件。

你可以在你的網站上做什麼,就像HTML模塊中的一個鏈接,每個人都可以使用,但使用文件處理程序來訪問該文件,並且該文件夾被限制爲特定角色(< a href = 「/LinkClick.aspx?fileticket= ...」>http://dnnsite.com/my-secure-folder/my-file.pdf</a>)。這導致登錄屏幕,當用戶沒有登錄。

+0

邁克爾我重新讀你的解決方案,我認爲這可能工作。您是否碰巧知道一個網站可以更詳細地討論您在提及的在href中實施rh LinkClick時提到的建議,並在用戶未登錄時將用戶重定向到登錄屏幕?尋找更多創造性的方式。太感謝了! – blackhawk

+0

對不起,以前沒有看到您的評論,所以也許一個答案已經過時。儘管如此:這很容易,而且很有效。我不知道有關這個的文章,但它很容易實現。當您在HTML模塊中輸入鏈接時,只需選擇適當的選項(如「相對安全的URL」或「絕對安全的URL」)。當您點擊「瀏覽服務器」按鈕時可以找到該選項... –