moss模拟管理员权限

moss模拟管理员权限

ID:9689324

大小:52.00 KB

页数:2页

时间:2018-05-05

moss模拟管理员权限_第1页
moss模拟管理员权限_第2页
资源描述:

《moss模拟管理员权限》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、MOSS模拟管理员权限  今天做个小功能时,遇到个小问题。当用户在listA下添加一个item时,要对另外一个listB里的数据进行更新,而该用户对于listB只有读取权限,怎么办呢  于是翻书看看了,才发现原来MOSS有中模拟管理员权限的方法〔SPSecurity.RunAdded(SPItemEventPropertiesproperties)2    {3      SP=properties.ListItem;56789     10      stringname=item[Name].ToString();11      intnum=int.Parse(item[People

2、].ToString());121314      SPSecurity.RunySite=neySite.Roots(list.DefaultVie[Name].ToString().Trim()==name)28              {29                ne[People]=int.Parse(ne[People].ToString())-num;30              }3132              ne.Update();33            }34          }35        }36        catch(Excepti

3、onex)37        {38          using(Streamentationdetailsomitted});  可以提升代码的运行权限,实现模拟管理员身份的功能。  在Run等等对象)都是以当前网站登录用户权限运作的,即使是在RunySite=neySite.Roote);}});  以上mySite.Roote返回的是管理员的登录帐号。  但是如果按之前所说使用SPContext:SPSecurity.Rune);});这时候即使在提升权限的范围内运行,得到的也是当前网站登录帐户名,而不是管理员登录帐号publicclassDemoHandler:SPItemEve

4、ntReceiver//继承SharePoint数据条目事件监控类{  publicoverridevoidItemAdded(SPItemEventPropertiesproperties) //重载ItemAdded函数,监控新建列表条目事件  {    SPSecurity.RunWithElevatedPrivileges(delegate()   //12下一页——..,。用此方法模拟管理员账户运行此事件处理程序    {      using(SPSitesite=neitem=list.Items.GetItemById(properties.ListItemId);  //

5、获得触发事件的列表条目              if(!item.HasUniqueRoleAssignments)item.BreakRoleInheritance(false); //将此条目取消权限继承,如果是false,则将去除所有权限,只保留系统账户,如果是true,则将上一级权限复制过来。            SPUseruser=entra=neent(e)); //生成一个新的角色分配            ra.RoleDefinitionBindings.Add(.RoleAssignments.Add(ra);  //将此新权限绑定到列表条目上          

6、}          catch(Exceptionee)          {          }        }        }    }    );  }}上一页12——..,。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。