提升代码的运行权限,实现模拟管理员身份的功能

 

Moss2007 提升代码的运行权限,实现模拟管理员身份的功能

 

 

注释 :  delegate() {} 内的的代码 必须重新初始化相应的对象 SPSite, SPWeb, 这时候即使在提升权限的范围内运行,得到的是管理员登录帐号。

ExpandedBlockStart.gif ContractedBlock.gif SPSecurity.RunWithElevatedPrivileges(  delegate ()  dot.gif {
InBlock.gif
InBlock.gif 
// 此处显示的是要在提升权限的情况下运行的代码。
InBlock.gif
InBlock.gif 
// 该代码段在 SHAREPOINT/SYSTEM 帐户下运行。
InBlock.gif

ExpandedBlockEnd.gif}
);
None.gif
None.gif
// 例 
None.gif

None.gifSPSecurity.RunWithElevatedPrivileges(
None.gif           
delegate () 
ExpandedBlockStart.gifContractedBlock.gif    
dot.gif {
InBlock.gif        
using (SPSite ElevatedsiteColl = new SPSite("http://xxxx:xx"))//获得spsite;
ExpandedSubBlockStart.gifContractedSubBlock.gif
          dot.gif{
InBlock.gif              
using (SPWeb ElevatedSite = ElevatedsiteColl.OpenWeb())//获得spweb;
ExpandedSubBlockStart.gifContractedSubBlock.gif
               dot.gif{
InBlock.gif                 
string SiteCollectionOwner = ElevatedsiteColl.Owner.Name;
InBlock.gif                 
string Visits = ElevatedsiteColl.Usage.Visits.ToString();
InBlock.gif                 
string RootAuditEntries =ElevatedSite.RootFolder.Audit.GetEntries().Count.ToString();
ExpandedSubBlockEnd.gif                        }

ExpandedSubBlockEnd.gif                    }
 
ExpandedBlockEnd.gif }
);
None.gif

在Sharepoint 2010 客户端对象模型中,也有加权限的方法,但据说在silverlight中不管用,如果谁知道在SilverLight中提升权限的方法请告知,万分感谢!

ClientContext client = new ClientContext("Site Url"); 
client.Credentials = new System.Net.NetworkCredential([用户名],[密码],[域名]); 
///do everything with full control

转载于:https://www.cnblogs.com/jlydboy/articles/1229827.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值