2017-03-07 50 views
0

我有兩個在MVC中創建的域。ASP的身份驗證和安全性。 NET靜態文件和文件夾

1.用戶域(如:localhost:8000) 2.Customer域(如:localhost:5046

客戶可以登錄,那麼他就可以上傳文件,如圖片,DOC,PDF等的文件遭到上傳到~/Documents/文件夾中的localhost:5046

的問題的根目錄下:如果我去我的瀏覽器,並打這個URL localhost:5046/Documents/image.jpg其實我可以訪問我的文件是否已經驗證過了。

我需要的是:我需要通過瀏覽器的URL阻止文件訪問。但是,我應該能夠通過寫這樣的訪問文件從用戶域localhost:8000下面

WebClient Client = new WebClient(); 
resposeData = Client.DownloadData("localhost:5046/Documents/image.jpg"); 

任何意見和建議,將不勝感激。

+0

你的routeconfig中有什麼,添加也? – Anil

回答

0

在相同的情況下,我執行的跟蹤檢查
1.]它將返回服務器地址,如果它是從託管serverthan重定向到另一個頁面與一些消息。

HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"]; 

2]檢查用戶進行身份驗證

System.Web.HttpContext.Current.User.Identity.IsAuthenticated 
0

在Web配置授權此。

<?xml version="1.0"?> 
<configuration> 
    <system.web> 
     <authorization> 
     <deny users="?" /> 
     </authorization> 
    </system.web> 
    <system.webServer> 
    <handlers> 
     <add name="pdfauthentication" verb="*" 
     path="*.pdf" 
     type="System.Web.StaticFileHandler" 
     resourceType="Unspecified" /> 
    </handlers> 
    </system.webServer> 
</configuration> 

現在您可以實現一個處理程序pdfauthentication,您可以在其中訪問服務器url並可以實現自己的身份驗證邏輯。這個解決方案討論here