Asp.net 安全文件夹和身份验证

Asp.net 安全文件夹和身份验证,asp.net,web-applications,Asp.net,Web Applications,我将创建一个网站,在这个网站上,用户可以创建自己的相册图片,并上传到网站上。我打算用ASP.NET(C#)开发这个网站。 每个用户只能访问专用于该用户的图像集,不允许共享项目,因此用户应拥有自己的用户名和密码,并在访问相册之前登录。 所以我有两个问题,图片应该存储在哪里,以获得完善的访问控制和限制。 验证用户身份的最佳安全方法是什么?只需上传该文件,并添加一条表示用户用户ID和图像路径的记录 或者,您可以直接上传到SQLServer2008的(您可以使用该)FileStream对象来存储图像,并

我将创建一个网站,在这个网站上,用户可以创建自己的相册图片,并上传到网站上。我打算用ASP.NET(C#)开发这个网站。 每个用户只能访问专用于该用户的图像集,不允许共享项目,因此用户应拥有自己的用户名和密码,并在访问相册之前登录。 所以我有两个问题,图片应该存储在哪里,以获得完善的访问控制和限制。
验证用户身份的最佳安全方法是什么?

只需上传该文件,并添加一条表示用户用户ID和图像路径的记录

或者,您可以直接上传到SQLServer2008的(您可以使用该)FileStream对象来存储图像,并且仍然有一条记录将其链接到用户的用户ID

要验证用户,只需使用MembershipProvider。他们将有一个与其登录相关联的用户id。这将成为您查找图像的关键

您可以通过不同的方式获取他们的名称或用户id。见:
有关获取Id的更多详细信息(通过ProviderUserKey)

感谢您的回答。那么,将图像上载到SQL server是否可以接受图像确实有巨大的文件,并且有很多图像,这是保存图像之类数据的最佳方法吗?!实际上,我只是想知道我是否应该把图像放在文件夹中(而不是底部),它们是否应该放在httpdocs文件夹下的文件夹中。由于该文件夹(httpdocs)中的内容可以通过URL访问,因此我不知道如何将安全设置应用于该文件夹?我建议上传到SQL的方式仅指向文件,实际上并不存储在SQL server上。然后将其放入应用程序外部的文件夹或应用程序中无法直接访问的文件夹中。您可以在web.config授权规则中控制此文件夹。然后您可以Response.WriteFile文件到客户端。