zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    cocos2d-x quick 学习 二 Hello world
    cocos2d-x quick 学习 一 环境
    给自己
    最近遇到问题
    lua 基础 1
    lua 学习 (一 )Mac搭建lua环境和ide
    VueDay1
    Git的简单使用
    web常用第三方接口
    2.node基础知识笔记
  • 原文地址:https://www.cnblogs.com/yinpengxiang/p/1416135.html
Copyright © 2011-2022 走看看