代码模拟用户登陆

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

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

            //首先用管理员身份去到某个用户的Token,必须非管理员无法模拟
            SPSite site = new SPSite(siteUrl);

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

            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


转自jianyi博客
posted @ 2008-07-09 08:26  邑尘  阅读(377)  评论(0编辑  收藏  举报