如何才能爲絕對路徑(例如www.mysite.it/namefile.pdf)設置c#MVC查看文件僅用於已驗證用戶?使用方法FormsAuthentication.Authenticate()
進行驗證。感謝您的支持。僅針對已登錄用戶的C#MVC視圖文件
0
A
回答
0
我認爲更恰當的方式來做到這一點是:
www.mysite.it/f={filename}
而在你的控制器使用[Authorize]
檢查,如果用戶進行身份驗證。如果用戶通過身份驗證,則允許他查看或下載文件。
下面的代碼可以幫助你瞭解:
//Ensure that the user is authenticated
[Authorize]
public class HomeController : Controller
{
string DefaultFileFolder = "C:/Files";
public ActionResult Index(string f)
{
//File request
if (!String.IsNullOrWhiteSpace(f))
{
var filePath = System.IO.Path.Combine(DefaultFileFolder, f);
var mimeType = "text/plain";
return File(filePath, mimeType);
}
return View();
}
}
0
據我知道這樣做是爲了通過ASP.NET靜態內容路由請求的唯一途徑。通常你不這樣做,因爲IIS本身在服務這些類型的資源方面效率更高。通過設置 runAllManagedModulesForAllRequests =」 true」或取出 ‘managedHandler’前提
在IIS 7這樣做可以:
從this excellent article,您可以強制靜態內容的請求由經過ASP.NET爲UrlRoutingModule。
根據您的需要,您可能希望根據理查德的建議做更多的事情。或許像this?
+1
你好@JasonCoder感謝您的答覆;我添加在web.config中此代碼'
相關問題
- 1. Grails - 在視圖中獲取對已登錄用戶的引用
- 2. HKEY_USERS僅包含已登錄用戶
- 3. django用戶登錄視圖
- 4. 直接進入主視圖控制器已登錄用戶
- 5. 用戶配置文件對象爲空,即使用戶已正確登錄?
- 6. Firebase用戶已登錄
- 7. 如何僅顯示已登錄用戶的鏈接?
- 8. 如何僅登錄已在Laravel 5.2中驗證的用戶
- 9. 預防用戶登錄如果用戶已經登錄
- 10. MVC C#登錄Masterpage
- 11. 僅針對未登錄用戶緩存整個響應(HTML,js,json,ecc)
- 12. 在一個視圖中的兩個登錄屏幕MVC c#
- 13. 用戶登錄後登錄視圖不更新?
- 14. 春季mvc併發用戶登錄mvc
- 15. 僅針對多個測試用例登錄一次 - Selenium,JUnit
- 16. 資料對象+視圖模型+更新用戶配置文件MVC C#
- 17. 監視器登錄多用戶軟件
- 18. C#MVC僅使用Entity Framework保存視圖模型的已更改元素
- 19. 列出已登錄的MySQL用戶
- 20. 已登錄用戶的單身模型
- 21. 已登錄用戶的稅收計算
- 22. 檢查用戶是否已登錄Spring MVC
- 23. 可以在Intranet上登錄已登錄的用戶嗎?
- 24. 已登錄用戶的頁眉/頁腳vs未登錄的用戶
- 25. iOS - Dropbox上的文件(用戶登錄)
- 26. 解析:發送僅限登錄用戶
- 27. Wordpress上傳僅限於登錄用戶
- 28. 獲取已登錄的用戶詳細信息在sharepoint c#webpart
- 29. 從Windows中提取已登錄的用戶憑據:C#
- 30. 允許在登錄時僅登錄一個用戶
是否要在網站的根目錄中限制訪問所有文件? Coudl將它們移動到子文件夾中? – Carl 2015-02-24 20:31:28