Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SharePoint会话是否跨多个用户持久化?_Sharepoint_Sharepoint 2007 - Fatal编程技术网

SharePoint会话是否跨多个用户持久化?

SharePoint会话是否跨多个用户持久化?,sharepoint,sharepoint-2007,Sharepoint,Sharepoint 2007,我有一个自定义web部件,它从获取当前用户登录名开始,如下所示: protected static string iAm = System.Web.HttpContext.Current.Request.ServerVariables["AUTH_USER"].Split("\\".ToCharArray())[1].ToLower(). 然后将此字符串传递给bbl类并获取用户id: `IDataReader _drInfo = cisf_BLL.bll_MyInfo.drGetMyInfo

我有一个自定义web部件,它从获取当前用户登录名开始,如下所示:

protected static string iAm = System.Web.HttpContext.Current.Request.ServerVariables["AUTH_USER"].Split("\\".ToCharArray())[1].ToLower(). 
然后将此字符串传递给bbl类并获取用户id:

`IDataReader _drInfo = cisf_BLL.bll_MyInfo.drGetMyInfo(iAm);
while (_drInfo.Read())
{
  iUser_Ident = _drInfo.GetInt32(30);
}
`之后,它将用户id整数传递给另一个获取用户培训记录的方法:

_drUserTraining = bll_Training.drGet_required_training_records(iUser_Ident);
            _drUserTrainingCompleted = bll_Training.drGet_completed_training_records(iUser_Ident);
然后,该信息将显示在一个选项卡容器中,其中包含三个选项卡,如“过期”、“必需”和“已完成”

我遇到的问题是:我用我的域名登录到SharePoint协作网站,我的所有培训都显示得很好。如果我的其他人登录到SP门户,则该用户会看到我的培训,而不是他的培训,即使该用户已使用通用访问卡以其唯一凭据登录,就像我一样

不知何故,一些奇怪的会议似乎持续,我希望有人在这里遇到了这种异常

提前谢谢


Risho

您误用了static-静态属性在每个web服务器进程中存储一次,而不是每个用户存储一次。

不是答案,而是代码改进:有更简单的方法获取当前用户名/id

SPUser user = Microsoft.SharePoint.[SPContext][1].Current.Web.CurrentUser;
user.ID;
user.Email;
user.Name
user.LoginName;
user.Grups;
....