在创建项目时,我试图在 sharepoint 站点工作流 2010 中找到当前登录的用户。基于用户,我想检索当前用户的项目经理。每次尝试检索当前用户名时,它都会提供System Account。
我什至尝试以其他用户身份登录,但仍将系统帐户显示为当前用户。
我尝试了以下选项:
SPUser user = workflowProperties.OriginatorUser;
SPUser user = SPContext.Current.Web.CurrentUser;
SPWeb web = SPContext.Current.Web;
SPUser user = web.CurrentUser;
SPContext.Current.Web.CurrentUser.LoginName;
但一切都失败了。确定我做错了什么。我不知道正确的程序。一些程序给我空或对象引用未设置为对象或系统帐户详细信息的实例。我什至尝试过使用提升的权限,它给了我空值。
SPSecurity.CodeToRunElevated elevatedSubmit = new SPSecurity.CodeToRunElevated(delegate
{
//SPUser user = SPContext.Current.Web.CurrentUser;
//string strAssignedTo = user.Name;
string sspURL = "http://localhost/PWA/default.aspx";
SPSite site = new SPSite(sspURL);
SPWeb web = site.OpenWeb();
SPUser theUser = web.CurrentUser;
string strUserName = theUser.Name;
});
SPSecurity.RunWithElevatedPrivileges(elevatedSubmit);
在尝试通过工作流检索当前用户之前,我是否应该将用户显式添加为 SPUser 或任何其他更改?