2011-09-17 166 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文件传给客户端。 –