提升SharePoint代码的权限
2008-03-01 01:13
197 查看
以前在编写基于域认证的SharePoint站点时,都没有意识到代码的执行权限问题,因为我基本上都是以管理员身份来登录的。现在把网站认证改为Forms认证以后,一般的用户并不是网站的管理员,导致有些控件会遇到拒绝访问的情况。一个例子是:假如一个普通的Internet用户要往一个Document library来进行写入操作的话就会被拒绝访问。
public void WriteToLib()
同样的代码如果用户是网站管理员就没有这个权限问题。
那么解决方案是什么呢?我们需要提升这段代码的权限,而不管当前的用户是不是有足够的权限。从SharePoint SDK中看到可以这样做:
SPSecurity.CodeToRunElevated ElevatedWriteToLibrary = new SPSecurity.CodeToRunElevated(WriteToLib);
SPSecurity.RunWithElevatedPrivileges(ElevatedWriteToLibrary);
这样就把我们的方法的权限提高到了系统帐号的高度,问题就解决了。
如果用到SPSite对象的话,则一定要在这个方法内部来创建,不可以用SPContext.Current.Site,不然没有效果.
public void WriteToLib()
同样的代码如果用户是网站管理员就没有这个权限问题。
那么解决方案是什么呢?我们需要提升这段代码的权限,而不管当前的用户是不是有足够的权限。从SharePoint SDK中看到可以这样做:
SPSecurity.CodeToRunElevated ElevatedWriteToLibrary = new SPSecurity.CodeToRunElevated(WriteToLib);
SPSecurity.RunWithElevatedPrivileges(ElevatedWriteToLibrary);
这样就把我们的方法的权限提高到了系统帐号的高度,问题就解决了。
如果用到SPSite对象的话,则一定要在这个方法内部来创建,不可以用SPContext.Current.Site,不然没有效果.
相关文章推荐
- sharepoint 代码提升匿名用户、只读用户修改列表的权限
- {sharepoint}提升 SharePoint 代码执行权限
- 记录一个在SharePoint的代码中提升运行权限的方法
- 记录一个在SharePoint的代码中提升运行权限的方法
- 提升 SharePoint 代码执行权限
- 记录一个在SharePoint的代码中提升运行权限的方法
- SharePoint v3:忘掉模拟用户Impersonate,SPSecurity.RunWithElevatedPrivileges来了 提升SharePoint代码的权限
- [代码片段]提升Win32进程权限
- MOSS 中提升代码的运行权限
- 提升当前用户在MOSS中代码的运行权限
- 深入浅出SharePoint——权限提升
- 【程序打包工具 Inno Setup】CreateProcess 失败:代码 740(Inno Setup打包的程序提升为管理员权限)
- 提升进程权限代码
- sharepoint webPart 代码具有管理员权限
- 【随】SharePoint中临时提升用户操作权限方法
- SharePoint中低权限用户通过提升权限创建用户组
- 学习:SharePoint编程提升权限的方法(转)
- SharePoint【学习笔记】-- SharePoint 权限提升和杜绝当前上下文环境影响
- WSS 代码执行的权限提升
- SharePoint 2007 权限代码分享