正文:

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       }     }   });

原文地址:(http://msdn2.microsoft.com/en-us/library/aa543467.aspx

类别: SharePoint
发布日期: 2007-6-14 20:43

转载于:https://www.cnblogs.com/yinpengxiang/archive/2007/06/14/1416135.html

WSS3 Elevation of Privilege 替代 用户身份模拟Impersonate 进行权限提升相关推荐

  1. 用户身份与文件的权限(普通权限、特殊权限、隐藏权限和文件控制列表ACL)

    用户身份 root用户是存在于所有类UNIX操作系统中的超级用户,它拥有最高的系统所有权.root用户的用户身份号码UID为0,UID相当于用户的身份证号码一样,具有唯一性.管理员用户(超级用户)UI ...

  2. .net下模拟不同身份登陆以获取不同权限

    .net下模拟不同身份登陆以获取不同权限   1.net下模拟不同身份登陆以获取不同权限     2    3作者:佚名 时间:2004-04-16 09:14 出处:互连网 责编:chinaitpo ...

  3. 构建具有用户身份认证的 React + Flux 应用程序

    序言:这是一篇内容详实的 React + Flux 教程,文章主要介绍了如何使用 API 获取远程数据以及如何使用 JSON Web Tokens 进行用户身份认证.在阅读本文之后,我一直使用文章介绍 ...

  4. linux如何运行用户程序,Linux系统下,如何以其他用户身份运行程序

    #1:runuser命令 runuser命令使用一个替代的用户或者组ID运行一个Shell.这个命令仅在root用户时有用. 仅以会话PAM钩子运行,并且没有密码提示.如果用一个非root用户,并且该 ...

  5. Linux 命令之 sudo -- 以其他用户身份来执行命令

    文章目录 命令介绍 原理 相关文件 通配符 和命令 su 的比较 常用选项 几个重要选项的解读 -k 选项 -s 选项 -i 选项 su.sudo su.sudo -i 的区别 查看日志文件 参考示例 ...

  6. linux 切换用户身份、su、sudo、/etc/sudoers

    Linux系统中,有时候普通用户有些事情是不能做的,除非是root用户才能做到.这时就需要用su命令临时切换到root身份来做事了. su:substitute['sʌbstɪtjuːt]代替 use ...

  7. 以远程计算机上的用户身份访问Com+应用

    DELPHI程序员开发com+应用的速度是非常快的,其主要原因是其较好地封装了com+的window s底层功能,开发人员通过较为简单的类继承就避开了复杂的com+底层技术细节,使开发人员 将精力放在 ...

  8. Windows程序以特定用户身份运行

    如果一个程序需要访问文件服务器的共享目录,却不能让执行这个程序的用户访问这个共享目录,怎么办? 解决方法:使用runas命令. 具体做法是,在本地先创建一个文件服务器授权了的用户abc,然后在控制台执 ...

  9. 构建具有用户身份认证的 Ionic 应用

    序言:本文主要介绍了使用 Ionic 和 Cordova 开发混合应用时如何添加用户身份认证.教程简易,对于 Ionic 入门学习有一定帮助.因为文章是去年发表,所以教程内关于 Okta 的一些使用步 ...

  10. 使用护照js进行用户身份验证

    介绍Passport.js (Introducing Passport.js) Passport.js is an authentication middleware. It attempts to ...

最新文章

  1. 【原】ASP.Net WebForm的发布(图解)
  2. 在虚拟中开启Windows 8.1的Hyper-V平台
  3. c++如何让字符串重复输出_python编程入门八:列表、元组、字符串的转换及补充方法...
  4. WPF MVVM模式
  5. JUnit5 @Tag注解示例
  6. 修改jsp文件刷新网页没有更新
  7. Qt 打印文档(PDF)
  8. html制作作业提交入口,制作网页详细操作步骤
  9. 女儿拿着小天才电话手表问我App启动流程
  10. Gradle学习笔记(二)
  11. python编写游戏测试机器人客户端(一)
  12. 一个女孩写给一个男孩子的信
  13. 人脸识别-多张人脸检测
  14. 电子元器件简介——芯片封装篇
  15. Vue+vant使用uploader上传图片
  16. [每日一题] 106. 二进制求和(字符串、数学)
  17. echart图片库_附录:ECharts图属性介绍-统计图
  18. php 归递删除,PHP递归删除目录几个代码实例
  19. 堡垒机复制粘贴不了的问题
  20. 【往届均已检索】2022年视觉,图像与信号处理国际会议(ICVISP 2022)

热门文章

  1. 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_5-10.Springboot2.x用户登录拦截器开发实战...
  2. 小D课堂 - 零基础入门SpringBoot2.X到实战_第1节零基础快速入门SpringBoot2.0_5、SpringBoot2.x的依赖默认Maven版本...
  3. 搭建SSM项目时报错(org.springframework.jdbc.CannotGetJdbcConnectionException)
  4. JavaScript三目运算符的使用
  5. 4.3.8 使用模板
  6. 使用CounterDownTimer实现时分秒倒计时
  7. c# Invalidate() Update() Refresh()的区别
  8. 为imageView添加图片实现动画
  9. 【计算机网络基础】URI、URN和URL的区别
  10. 20145109 《Java程序设计》第七周学习总结