2010-12-02 14 views
0

Je veux télécharger des fichiers dans une bibliothèque de documents du site sharepoint (WSS 3.0) en utilisant C#, mais le problème est que je veux permettre seulement utilisateurs autorisés à télécharger le fichier. Je ne sais pas comment transmettre les informations d'identification de l'utilisateur à l'aide du modèle d'objet sharepoint. Existe-t-il un moyen d'obtenir les informations d'identification de l'utilisateur à partir du nom d'utilisateur i.e, mot de passe, puis télécharger le fichier en utilisant ces informations d'identification. Je demande ceci parce que si j'utilise des préveils élevés alors je ne sais pas qui a téléchargé le dossier parce que le dossier a téléchargé en tant que compte de système.Comment passer des informations d'identification de l'utilisateur à sharepoint en utilisant Object Model SP au lieu de service Web tout en téléchargeant le fichier

Répondre

1

Normalement, chaque fois que vous téléchargez un fichier vers la bibliothèque SharePoint, vous utilisez le contexte utilisateur connecté. Ainsi, si un utilisateur n'a pas les droits suffisants, il ne pourra pas télécharger un fichier. Code

+0

salut Ashutosh, En fait, je suis téléchargement du fichier en utilisant le modèle d'programatically objet sharepoint. Fichier téléchargé avec succès en utilisant le code suivant, mais mon problème est que je veux obtenir le nom d'utilisateur et mot de passe de l'utilisateur, de sorte que le téléchargement de fichiers en utilisant les informations d'identification de l'utilisateur donné. – Alex

+0

utilisant (SPSite Osite = new SPSite (sharePointSite)) { utilisant (SPWeb oweb = oSite.OpenWeb()) { \t \t \t SPFolder myLibrary = oWeb.Folders [DocumentLibraryName]; \t \t \t FileStream fileStream = File.OpenRead (fileToUpload); \t \t \t myLibrary.Files.Add (filename, fileStream, replaceExistingFiles); \t \t} \t \t \t \t} – Alex

+0

Salut Alex, le code que vous avez écrit courrez toujours dans le contexte de l'utilisateur connecté à moins que vous utilisez spelevated prevelages qui utilise les informations d'identification de compte de pool d'application. Donc, fondamentalement, vous n'avez pas besoin de passer un utilisateur supplémentaire si l'utilisateur connecté n'a pas les privilèges appropriés, il ne serait pas en mesure de télécharger les fichiers dans la bibliothèque –

0

Il doit être code personnalisé et ne serait pas disponible hors de la boîte.

Une approche. Vous pouvez passer le nom d'utilisateur à la routine qui effectue le téléchargement du fichier. Vous pouvez ensuite énumérer les utilisateurs du site pour voir a) si l'utilisateur existe sur le site et b) ont-ils les droits appropriés pour ajouter le document.

Regardez la AllUsers propriété sur l'objet SPWeb (http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spweb.allusers.aspx)