我有一個場景,我不確定我的方法是否是最好的,我很感謝反饋/建議。什麼是基於業務邏輯屏蔽網絡資源的策略
場景: 我有一堆基於Flash的(swf)「模塊」,它們託管在我的aspnet應用程序中。每個閃存都有自己的文件系統目錄,其中包含閃存資源。考慮這個簡單的網站結構:
/webapp/index.aspx
/webapp/flash/flash1/flash.swf
/webapp/flash/flash1/someimage.jpg
/Web應用程序/閃光燈/ FLASH1/someclip.mp3
/webapp/flash/flash2/flash.swf
/webapp/flash/flash2/someimage.jpg
/webapp/flash/flash2/someclip.mp3
諸如此類
,其中命名約定是/Web應用程序/閃光燈/閃光燈[ID]/
我要實現它檢查用戶是否應該被允許進入*子文件夾中的文件的安全機制「[ID ]',它是內容。
**插入業務邏輯基於存儲在SQL數據庫這裏*
我正在考慮寫信息的HttpModule它確實像
ProcessRequest(){
if(Request.RawUrl.Contains("/webapp/flash") && !userHasValidLicenseForModule(1)){
Redirect("login.aspx");
}
}
但有這麼的HttpModule只適用於文件中的缺點擴展名映射到aspnet(在IIS6中)。這意味着我將不得不將所有可能的擴展映射到該過程(.mp3,.jpg等),這是我寧願避免的。
我也在考慮使用HttpHandler,但是Flash文件需要能夠使用相對URL鏈接到它的資源。 (所以像/webapp/getprotectedstuff.ashx?file=flash1234/flash.swf代理狀的圖案並不者優先)
也許是明智的Flash文件和資產保存在網站根目錄之外的全部。也許還有其他的策略我沒有想過。
使用aspnet安全並編寫自定義成員資格提供程序?
有什麼想法?