
[英]How to set the current users email address in ASP.NET Membership?
[英]How can I wire users with their respective folders in ASP.NET?
当userA上传文件时,他的文件将被上传到folderA,当userB,到folderB,等等。 ASP.NET中的角色/配置文件。 文件夹将预先存在。 任何人?
你可能想要手动编码。 ASP.NET管理用户文件没有任何内在功能。 但是,这样做的代码应该相对容易。 假设用户名是唯一的且永远不会更改,您可以将用户名与路径(使用Path.Combine)组合并上传到该位置。 我也会锁定该位置,以便其他人无法访问它。
我过去做的方式是使用基本上传文件夹(比如上传),并在该文件夹中使用来自数据库的用户ID创建一个文件夹。 因此,对于用户ID为145的用户,结构将为.. \\ uploads \\ 145。
我的代码所做的第一件事是检查文件夹是否存在,如果没有,则在上传之前调用Directory.Create()(或其他语法)来创建文件夹。
您可能会发现有用的更多信息:我还使用GUID重命名该文件,如果他们上传2个具有相同名称的文件,则可以避免名称冲突。 缺点是您通常需要维护一个包含原始文件名和物理(GUID)文件名的表。
您可以检查该文件夹是否存在,并为该用户创建该文件夹(如果该文件夹不存在),但这会对此产生安全隐患。 您可能还想尝试将数据存储在数据库中并将其绑定到用户..这取决于您让用户上传的内容。
有几种方法可以做到这一点:
使用表单身份验证
如果使用表单身份验证,则可以设置一种约定,其中用户的用户名或ID可以作为服务器中用户可以上载文件的路径的基础。 请注意,您的用户无法直接访问该文件夹:用户也应该能够通过Web应用程序从服务器下载文件。
使用Windows身份验证
如果使用Windows(例如,ActiveDirectory)身份验证,则可以通过Web应用程序向用户提供对文件夹的物理位置的访问权限。
PS - 很高兴在这里见到Marlon!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.