C# 上载文件时如何使用SP对象模型而不是web服务将用户凭据传递到sharepoint

C# 上载文件时如何使用SP对象模型而不是web服务将用户凭据传递到sharepoint,c#,sharepoint,file-upload,C#,Sharepoint,File Upload,我想使用c#在sharepoint网站(WSS 3.0)的文档库中上载文件,但问题是我想只允许授权用户上载文件。我不知道如何使用sharepoint对象模型传递用户凭据。是否有一种方法可以从用户获取用户凭据,即用户名、密码,然后使用这些凭据上载文件。我这样问是因为如果我使用提升权限,那么我不知道是谁上载了文件,因为文件是作为系统帐户上载的。通常,每当您将文件上载到SharePoint库时,都会使用当前登录的用户上下文来完成,因此如果任何没有足够权限的用户都无法上载文件,您将获得代码中相同的例外情

我想使用c#在sharepoint网站(WSS 3.0)的文档库中上载文件,但问题是我想只允许授权用户上载文件。我不知道如何使用sharepoint对象模型传递用户凭据。是否有一种方法可以从用户获取用户凭据,即用户名、密码,然后使用这些凭据上载文件。我这样问是因为如果我使用提升权限,那么我不知道是谁上载了文件,因为文件是作为系统帐户上载的。

通常,每当您将文件上载到SharePoint库时,都会使用当前登录的用户上下文来完成,因此如果任何没有足够权限的用户都无法上载文件,您将获得代码中相同的例外情况需要是自定义代码,不能开箱即用

一种方法。您可以将用户名传递给执行文件上载的例程。然后,您可以枚举站点用户以查看a)站点上是否存在该用户,b)他们是否具有添加文档的适当权限


请看SPWeb对象()上的AllUsers属性。

hi Ashutosh,实际上我正在使用sharepoint对象模型以编程方式上载文件。使用以下代码成功上载文件,但我的问题是,我想从用户处获取用户名和密码,以便使用给定用户的凭据上载文件。使用(SPSite oSite=new SPSite(sharePointSite)){使用(SPWeb oWeb=oSite.OpenWeb()){SPFolder myLibrary=oWeb.Folders[documentLibraryName];FileStream FileStream=File.OpenRead(fileToUpload);myLibrary.Files.Add(FileName,FileStream,replaceExistingFiles);}您好,Alex,您编写的代码将始终在登录用户的上下文中运行,除非您使用使用应用程序池帐户凭据的专用权限。因此,基本上您不需要传递任何额外的用户ID,因为如果登录用户没有适当的权限,他将无法将文件上载到文档库中对于你的回答,是的,你是对的,但是如果他想以其他用户的身份上传文件,那该怎么办呢?例如,他目前以管理员身份登录,但他想使用其他帐户(可能是参与者帐户)上传文件。在这种情况下,我建议使用webservice上载内容,或要求您的管理员用户使用SharePoint提供的其他用户功能登录