You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET 8连接本地SharePoint(2013/2016)的方法及推荐认证方式

从.NET 8连接本地SharePoint 2013/2016的实现方案及首选认证方式

连接方法:使用SharePoint Client Object Model (CSOM)

.NET 8可以通过CSOM库对接本地SharePoint 2013和2016,需根据你的SharePoint版本安装对应CSOM NuGet包:

  • 针对SharePoint 2013:安装Microsoft.SharePoint.Client和Microsoft.SharePoint.Client.Runtime的15.x版本
  • 针对SharePoint 2016:安装上述包的16.x版本

基础初始化代码示例:

using Microsoft.SharePoint.Client;

var siteUrl = "http://你的本地SharePoint站点地址";
using var context = new ClientContext(siteUrl);
// 此处添加认证逻辑
context.Load(context.Web, web => web.Title);
context.ExecuteQuery();
Console.WriteLine($"站点标题:{context.Web.Title}");

首选认证方式

本地SharePoint的认证选择取决于部署场景,以下是优先级最高的几种方案:

1. NTLM认证(域环境首选)

如果你的SharePoint部署在域内,NTLM是最直接的认证方式。可通过NetworkCredential指定域账号:

context.Credentials = new System.Net.NetworkCredential(
    "用户名",
    "密码",
    "域名"
);

若应用程序本身以域用户身份运行,也可直接使用默认凭据:

context.Credentials = System.Net.CredentialCache.DefaultCredentials;

2. Kerberos认证

若环境配置了Kerberos协议,这是比NTLM更安全的选项,适合跨域或需要权限委派的场景。代码使用方式与NTLM一致,只需确保Kerberos环境配置正确,同样可使用DefaultCredentials或指定域账号。

3. 表单认证(FBA)

如果你的SharePoint启用了表单认证,需使用FormsAuthenticationLoginInfo传入FBA账号:

var loginInfo = new FormsAuthenticationLoginInfo("FBA用户名", "FBA密码");
context.AuthenticationMode = ClientAuthenticationMode.FormsAuthentication;
context.FormsAuthenticationLoginInfo = loginInfo;

注意事项

  • 确保.NET 8项目的目标框架与CSOM包版本兼容,避免版本冲突
  • 运行应用的账号需具备SharePoint站点的对应权限(如读取、写入)

内容的提问来源于stack exchange,提问作者Nina

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 11:38:13