随笔 - 77  文章 - 1 评论 - 737 trackbacks - 86
<2008年7月>
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789

camlquery 类库下载:
 http://www.codeplex.com/camlquery
SPCAMLEditor 下载:
 http://www.codeplex.com/SPCAMLEditor

与我联系

搜索

 

留言簿(22)

我参与的团队

随笔分类(68)

My Friends

SilverLight

wss

积分与排名

  • 积分 - 81766
  • 排名 - 484

最新随笔

最新评论

阅读排行榜

评论排行榜

在SharePoint模拟指定用户身份进行操作的代码:

         string siteUrl = "http://ecpe-dev:82/sites/sjs" ;

            //首先用管理员身份取到某个用户的Token

            //应该用SPSecurity.RunWithElevatedPrivilege来提升权限.
            SPSite site = new SPSite(siteUrl);

            //此时用户为SHAREPOINT\system
            Response.Write(site.RootWeb.CurrentUser);

             

             //获取到要模拟的用户的token    

            SPUser user = site.RootWeb.SiteUsers["saicmotorlab\\user1"];

 

            //利用用户Token构造新的Site对象
            SPSite siteWithUser = new SPSite(siteUrl, user.UserToken);

            SPWeb webWithUser = siteWithUser.RootWeb;

            //此时用户为SAICMOTORLAB\user1
            Response.Write( webWithUser.CurrentUser );

            SPList listWithUser = webWithUser.Lists["simeList"];

            //other code

 

 以上代码可以用在需要采用指定用户权限操作的情况,如写个web服务,按照传入的用户名返回其有权查看的ListItem。


posted on 2008-07-08 15:36 jianyi 阅读(354) 评论(6)  编辑 收藏 所属分类: Sharepoint

FeedBack:
userToken是关键!学习了!
  回复  引用  查看    
#2楼  2008-07-09 08:00 王彬彬      
恩,这个非常有用,模拟登陆,不需要密码。不知道有管理权限的用户,是否可以在前台也模拟呢?
  回复  引用  查看    
#3楼 [楼主] 2008-07-09 16:30 jianyi      
@王彬彬
这段代码示例不是用于这种情况的,你那是模拟管理员,需要用权限提升。
  回复  引用  查看    
#4楼  2008-07-25 09:13 eyes [未注册用户]
这个是不是只适用于查看噢?~~
如果在模拟用户下修改列表内容,那么修改者就成了saicmotorlab\\user1了~~而不是当前登录的用户?~~~
  回复  引用    
#5楼 [楼主] 2008-07-25 17:39 jianyi      
@eyes
就是要实现这个效果啊.
  回复  引用  查看    
#6楼  2008-07-30 16:23 moteshow [未注册用户]
好东东,拿走了
  回复  引用    

标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
博客园首页

新闻频道

社区

小组

博问

网摘

闪存

  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2008-09-06 18:18 编辑过
成果网帮您增加网站收入


相关链接: