я пытаюсь загрузить файл в Sharepoint с C# с использованием Microsoft Sharepoint клиентаЗагрузка файла в Sharepoint без пароля
я не имею никаких проблем, когда я создаю свой контекст и дать ему свое имя пользователя и пароль, как этот
using (ClientContext ctx = new ClientContext(spSite))
{
if (!System.IO.File.Exists(fileLocation))
throw new FileNotFoundException("File not found.", fileLocation);
var credentials = new NetworkCredential("username", "password");
ctx.Credentials = credentials;
Web web = ctx.Web;
ctx.Load(user);
ctx.ExecuteQuery();
String fileName = System.IO.Path.GetFileName(fileLocation);
FileStream fileStream = System.IO.File.OpenRead(fileLocation);
ctx.Load(web.Folders);
ctx.ExecuteQuery();
Folder spFolder = web.Folders.FirstOrDefault(x => x.Name.Equals(spListCleanName));
FileCreationInformation fci = new FileCreationInformation();
fci.Url = spSite + spLibraryName + file;
byte[] bytes = System.IO.File.ReadAllBytes(fileLocation);
fci.Content = bytes;
Microsoft.SharePoint.Client.File spFile = spFolder.Files.Add(fci);
spFile.ListItemAllFields.Update();
ctx.ExecuteQuery();
}
, но моя проблема входит в учетную запись сети. есть ли способ использовать текущие учетные данные пользователей (через iis или .net или что-то еще), так что мне не нужно запрашивать их пароль? поскольку это не то, что мы хотим сохранить в обычном тексте в любом месте.
спасибо заранее
ASP.NET позволяет использовать встроенную проверку подлинности Windows для достижения единого входа. – adamdc78
как я могу это использовать? я попробовал использовать HttpClientHandler и установил учетные данные по умолчанию для true, но когда я пытаюсь установить его на свой объект ctx, он равен нулю – Sam
Посмотрите на [ASP.NET] (http://www.asp.net/web-api/обзор/безопасность/встроенная проверка подлинности Windows); вам нужно настроить режим аутентификации на 'Windows'. – adamdc78