2011-09-17 169 views
1

我打算創建一個網站,用戶可以創建自己的圖片專輯並在網站上上傳。我將使用ASP.NET(C#)開發此網站。 每個用戶只能訪問專用於該用戶的圖像集,不允許共享項目,因此用戶應該擁有自己的用戶名和密碼並登錄後才能訪問其專輯。 所以我有2個問題,圖片應該存儲在哪裏纔能有完善的訪問控制和限制。 什麼是驗證用戶身份的最佳安全方式?安全文件夾和身份驗證

回答

0

只需上傳該文件,並添加一條表示用戶的UserId的記錄以及圖像的路徑。

或者,你可以直接上傳到SQL Server 2008的(可以使用)FileStream對象來存儲圖片 - 仍然有它鏈接到用戶的用戶ID

要驗證用戶只需使用的MembershipProvider的記錄。他們將擁有與其登錄相關的用戶標識。這成爲查找圖像的關鍵。

您可以通過不同的方式獲取他們的姓名或用戶ID。請參閱: How can I access UserId in ASP.NET Membership without using Membership.GetUser()? 有關獲取Id的更多詳細信息(通過ProviderUserKey)

+0

感謝您的回答。然後將圖像上傳到SQL服務器是否可以接受圖像確實有很大的文件,並且有很多文件,它是保持數據像圖像的最佳方式?! 其實我只是想知道如果我應該把圖像放在文件夾(而不是基地),如果他們在httpdocs文件夾下的文件夾或不。由於該文件夾(httpdocs)中的內容可通過URL訪問,因此我不知道如何將安全設置應用於文件夾? –

+0

我推薦上傳到SQL的方式只指向一個文件,實際上並不存儲在SQL服務器上。然後放入應用程序外部的文件夾或應用程序中不可直接訪問的文件夾。你可以在你的web.config授權規則中控制這個文件夾。然後你可以將Response.WriteFile文件傳給客戶端。 –