具有客户端对象模型的 SharePoint 2010 用户身份验证(Windows 凭据)
本文关键字:身份验证 Windows 凭据 用户 2010 客户端 对象模型 SharePoint | 更新日期: 2023-09-27 18:30:14
我正在尝试登录到使用Windows集成(NTLM)身份验证的SharePoint网站。有两种方法可以输入 SharePoint 网站的凭据:Windows 身份验证和表单身份验证。
但是,在此特定网站上禁用了表单身份验证,我只能使用 Windows 身份验证。有没有办法让我使用与我以前登录 Windows 机器不同的凭据登录此站点?
请参阅此处的错误:表单身份验证被拒绝
String site = "http://sharepoint/";
ClientContext context = new ClientContext(site);
context.AuthenticationMode = ClientAuthenticationMode.FormsAuthentication;
FormsAuthenticationLoginInfo formsAuthInfo = new FormsAuthenticationLoginInfo("MyUser", "MyPassword");
context.FormsAuthenticationLoginInfo = formsAuthInfo;
// The SharePoint web at the URL.
Web web = context.Web;
// We want to retrieve the web's properties.
context.Load(web);
// Execute the query to the server.
context.ExecuteQuery();
InitializeComponent();
我还尝试使用: 上下文。凭据 = 新的网络凭据("用户"、"通过"、站点);
ClientContext context = new ClientContext(site);
context.Credentials = new NetworkCredential("user", "pass", site);
// The SharePoint web at the URL.
Web web = context.Web;
// We want to retrieve the web's properties.
context.Load(web);
// Execute the query to the server.
context.ExecuteQuery();
InitializeComponent();
我收到以下 401(未经授权)错误
不要将ClientContext
对象的 AuthenticationMode
属性更改为 FormsAuthentication
,而是尝试将对象的 Credentials
属性设置为有效的网络凭据对象。
ClientContext context = new ClientContext("http://sharepointsite/");
context.Credentials = new NetworkCredential("username","password","domain");
不知道是否晚了,但默认情况下,托管客户端对象模型使用用户的 Windows 凭据(默认凭据)对用户进行身份验证。
因此,您无需显式设置凭据。只需设置以下内容 -
context.AuthenticationMode = ClientAuthenticationMode.Default;