现在的位置: 首页 > 综合 > 正文

SharePoint如何模拟用户

2012年02月16日 ⁄ 综合 ⁄ 共 790字 ⁄ 字号 评论关闭
在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。

【上篇】
【下篇】

抱歉!评论已关闭.