【发布时间】:2018-03-28 18:06:12
【问题描述】:
我正在尝试创建一个允许用户将文件上传到 SharePoint Online 站点的 Web 应用程序(使用 C# 的 ASP.NET MVC)。
此代码在 SharePoint Online 中有效仅当我使用我的实际电子邮件和密码。
using (ClientContext context = new ClientContext(url))
{
var password = new SecureString();
foreach(var c in "password")
{
password.AppendChar(c);
}
context.Credentials = new SharePointOnlineCredentials(email, password);
//code to upload file
}
但我不想将我的凭据用于此 Web 应用程序的所有用户。因此,我一直在对此进行一些研究,并发现了基于声明的身份验证。 https://code.msdn.microsoft.com/Remote-Authentication-in-b7b6f43c#content
我肯定会尝试这个,但我仍然想知道这是否是实现我想做的唯一方法。 Web 应用程序使用 Windows 身份验证对用户进行身份验证,sharepoint 在线站点也是如此。 Sharepoint 在线站点无法从 Web 应用程序获取凭据,这真的是真的吗?
【问题讨论】:
-
如果您有一个服务帐户,将凭据存储在 Web 配置中,并在共享点库中为上传它的人提供了一个列,我们必须对其复杂性进行相同的操作以使用身份验证,如果你错过了将用户添加到网站这也是一个问题,只是我的想法
-
@GuruparanGiritharan 谢谢。我完全同意。我们决定为此使用服务帐户
标签: c# asp.net-mvc sharepoint-2013 sharepoint-online