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

如何在无ADFS的情况下连接本地SharePoint Server 2019 API?

本地SharePoint 2019 Server C# 身份验证方案(无ADFS)

一、不依赖ADFS的App-Only身份验证方式

本地SharePoint 2019原生支持基于证书的App-Only认证,无需ADFS,也不用依赖Azure ACS服务(即你提到的https://accounts.accesscontrol.windows.net/),具体实现步骤和代码如下:

  1. 在SharePoint服务器上注册应用程序,生成自签名证书(或使用企业证书)
  2. 为应用分配对应权限(如站点集管理员权限、特定列表权限等)
  3. 在C# CSOM代码中通过证书加载客户端上下文
using Microsoft.SharePoint.Client;
using System.Security.Cryptography.X509Certificates;

var siteUrl = "http://你的SharePoint站点地址";
var clientId = "你的应用客户端ID";
var certificatePath = @"C:\证书路径\你的证书.pfx";
var certificatePassword = "证书密码";

// 加载证书
var cert = new X509Certificate2(certificatePath, certificatePassword, X509KeyStorageFlags.Exportable);
// 初始化客户端上下文
var ctx = new ClientContext(siteUrl);
ctx.AuthenticationMode = ClientAuthenticationMode.Default;
ctx.ClientCertificates.Add(cert);
ctx.ApplicationName = clientId;

// 测试连接
ctx.Load(ctx.Web);
ctx.ExecuteQuery();
Console.WriteLine($"站点标题:{ctx.Web.Title}");

二、其他可选身份验证方式

  • NTLM域身份验证:若代码在域环境内运行,可直接使用当前用户的域身份连接,无需额外配置:
var ctx = new ClientContext("http://你的SharePoint站点地址");
ctx.Credentials = System.Net.CredentialCache.DefaultCredentials;

ctx.Load(ctx.Web);
ctx.ExecuteQuery();
  • 基本身份验证:需先在SharePoint服务器上启用基本认证(仅限内部网络使用,注意安全风险),代码中传入用户名和密码:
using Microsoft.SharePoint.Client;
using System.Security;

var ctx = new ClientContext("http://你的SharePoint站点地址");
ctx.Credentials = new SharePointOnlineCredentials("域\\用户名", ConvertToSecureString("密码"));

ctx.Load(ctx.Web);
ctx.ExecuteQuery();

// 辅助方法:将字符串转为SecureString
private static SecureString ConvertToSecureString(string password)
{
    var securePassword = new SecureString();
    foreach (char c in password)
    {
        securePassword.AppendChar(c);
    }
    return securePassword;
}

关于App-Only的澄清

你之前接触到的使用ACS的示例是针对SharePoint Online的方案,本地SharePoint 2019的App-Only完全可以脱离ADFS和Azure服务,通过证书方式实现,这是本地部署的原生支持方案。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 21:02:07