【发布时间】:2018-05-09 05:16:00
【问题描述】:
目前,我正在处理从非 SharePoint 页面调用的 .net Web api,以运行 SharePoint 代码以执行某些操作。我已经共享了已配置的 Visual Studio,以便每个人都可以通过我系统的 IP URL 访问该页面。 Web api 中的代码运行良好,因为它总是使用我的帐户来执行每个操作。
如果我有用户的域名,我们如何从另一个用户帐户运行客户端上下文。
ClientContext clientContext = new ClientContext(siteUrl);
Web web = clientContext.Web;
User user = web.EnsureUser(@"domain\user1");
clientContext.Load(user);
clientContext.ExecuteQuery();
string title = user.Title;
string loginName = user.LoginName;
如果我想在这个用户名下运行clientcontext。我怎样才能做到这一点。我发现下面的代码在服务器端有效
SPUserToken userToken = web.AllUsers[user].UserToken;
SPSite s = new SPSite(siteStr, userToken);
SPWeb w = s.OpenWeb();
Console.WriteLine("Currently logged in as: " +
w.CurrentUser.ToString() +
"(" + w.CurrentUser.Name + ")"
);
此代码在 CSOM 中的替代方法是什么。
提前致谢
【问题讨论】:
标签: sharepoint-2013 impersonation csom