• WSS3 Elevation of Privilege 替代 用户身份模拟Impersonate 进行权限提升


    正文:
    WSS3 中的 Microsoft.SharePoint.SPSecurity.RunWithElevatedPrivileges 替代 Impersonate 进行权限提升.
    好处就是根本不需要在配置文件写些什么用户名密码, 省了麻烦, 加了一定密码泄漏安全, 但是也增加了不安全代码的后门.
    RunWithElevatedPrivileges 使用的是你IIS Application的进程池帐户,所以注意安全,嘿嘿.
     
    SPSecurity.RunWithElevatedPrivileges(delegate()
    {
        // 用系统帐户做操作
    });
    SPSecurity.RunWithElevatedPrivileges(delegate()
    {
        using (SPSite site = new SPSite(SPContext.Current.Site.ID))
        {//注意要new一个, 用SPContext.Current.Site的话,那就是当前帐户的安全级别
           //用系统帐户操作这个site
        }
    });
     
    照抄MSDN的代码例子:
    SPWeb web = SPContext.Current.Web;
    SPUser user = web.CurrentUser; // the calling user
       // Uses the SHAREPOINT\system creds with the SPUser's identity reference of user
    SPSecurity.RunWithElevatedPrivileges(delegate() {
      // Gets a new security context using SHAREPOINT\system
      using (SPSite site = new SPSite(this.Page.Request.Url.ToString())) {
        using (SPWeb thisWeb = site.OpenWeb()) {
          thisWeb.AllowUnsafeUpdates = true;
          SPList theList = thisWeb.Lists[listName];
          SPListItem record = theList.Items.Add();
          record["User"] = user; // calling user
          record.Update(); // uses SHAREPOINT\system
        }
      }
    });
    类别: SharePoint
    发布日期: 2007-6-14 20:43
  • 相关阅读:
    E. XOR and Favorite Number (莫队板子题)
    bzoj 2038: [2009国家集训队]小Z的袜子(hose)
    世风日下的哗啦啦族I (简单分块模板)
    Turtles (非纯分块)
    楼房重建
    智商问题
    A
    51 Nod 1640 天气晴朗的魔法( Kruskall )
    后缀数组
    51nod 1562 玻璃切割 (set)
  • 原文地址:https://www.cnblogs.com/yinpengxiang/p/1416135.html
Copyright © 2020-2023  润新知