SharePoint client object model in a web part thrown 401 Unauthorized
我可以在 Web 部件中使用 SharePoint 客户端对象模型吗?
此代码适用于我的控制台应用程序,但在 Web 部件中它返回"远程服务器返回错误:(401) 未经授权。"
代码为:
1 2 3 4 5 6 7 8 | var siteUrl ="http://www.server.com/"; var clientContext = new ClientContext(siteUrl); var root = clientContext.Site.RootWeb; WebCollection collWeb = root.GetSubwebsForCurrentUser(null); clientContext.Load(root); clientContext.Load(collWeb); clientContext.ExecuteQuery(); |
问题可能在于客户端上下文不使用当前用户凭据。我该怎么办?
您将凭据添加到 clientContext:
1 2 3 4 5 | System.Net.NetworkCredential cr = new System.Net.NetworkCredential("username","password"); ClientContext clientContext = new ClientContext(siteURL); clientContext.Credentials = cr; |
你应该试试
1 | System.Net.CredentialCache.DefaultCredentials |
获取当前用户的凭证
但是,如果您正在调用远程共享点服务器,恐怕它不会工作,因为双跳问题
以当前用户身份调用远程共享点的方法是使用 ECMA 客户端对象模型...
当然,用户必须已经登录