.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
相关产品推荐
相关产品推荐

