当使用RunWithElevatedPrivileges时如何修改“修改者”信息

今天在国外网站看到篇东东,感觉是一个细节问题,这里贴出来共享~

通过使用RunWithElevatedPrivileges将使列表项的“修改者”一栏变为系统账户,如果要让“修改者”记录为当前用户,则以下代码可供参考:

 

item["Editor"= SPContext.Current.Web.CurrentUser;
item["Author"= SPContext.Current.Web.CurrentUser;
item.SystemUpdate();

[Created By] is set to the current user but [Modified By] is set to System Account.

 

 

item["Editor"= SPContext.Current.Web.CurrentUser;
item["Author"= SPContext.Current.Web.CurrentUser;
item.Update();

Both [Created By] and [Modified By] are set to the current user.

 

差别就在调用item的Update()或者SystemUpdate()了。

 

即使是包含在 SPSecurity.RunWithElevatedPrivileges 代码块里,SPContext.Current.Web.CurrentUser 也是指向当前用户而不是系统账户的用户的。

posted @ 2009-12-31 10:30  Glife  阅读(466)  评论(0编辑  收藏  举报