转:http://blog.csdn.net/sygwin_net/article/details/6790500

操作环境:SharePoint 2010

关于SharePoint 的权限架构,具体的请查阅其它资料。这里简单的介绍一下,sharepoint 将基础权限分组,然后将组附加给用户或用户组。

默认Sharepoint 以将权限分组:完全控制,设计,参与讨论,读取,首先访问,仅读取 等6组,然后将权限组指定给具体用户或用户组。当然你也可以建自己的权限组。

关于基础权限内容请参考:http://msdn.microsoft.com/zh-cn/library/ms412690

本文介绍如果获取当前登录用户权限(所有操作都是在可视Web部件中进行的):

1.判断当前用户是否具有完全控制权限

  1. SPWeb web=SPContext.Current.Web;
  2. SPRoleDefinitionBindingCollection usersRoles = web.AllRolesForCurrentUser;
  3. SPRoleDefinitionCollection siteRoleCollection = web.RoleDefinitions;
  4. SPRoleDefinition roleDefinition = siteRoleCollection["完全控制"];
  5. if (usersRoles.Contains(roleDefinition))
  6. {
  7. //具有完全控制权限
  8. }
SPWeb web=SPContext.Current.Web;
SPRoleDefinitionBindingCollection usersRoles = web.AllRolesForCurrentUser;
SPRoleDefinitionCollection siteRoleCollection = web.RoleDefinitions;
SPRoleDefinition roleDefinition = siteRoleCollection["完全控制"]; if (usersRoles.Contains(roleDefinition))
{
//具有完全控制权限
}

注意,如果你的sharepoint 版本是英语版本,请将完全控制四个字换成:Full Control

2.判断当前用户所在的组

  1. SPWeb web=SPContext.Current.Web;
  2. SPGroup group = web.Groups["Team Site所有者"];
  3. if (group.ContainsCurrentUser)
  4. {
  5. //当前用户在"Team Site所有者"组内
  6. }
SPWeb web=SPContext.Current.Web;

SPGroup group = web.Groups["Team Site所有者"];
if (group.ContainsCurrentUser)
{
//当前用户在"Team Site所有者"组内
}

注意:如果你的是英文版本,请将Team Site所有者 换成:Team Site Owners

总结:能获取当前用户所在的权限组及用户组,也就知道当前登录用户的权限了。

SharePoint 2010 获取当前用户的权限的更多相关文章

  1. [转]SharePoint 2010/2013 使用Javascript来判断权限的三种方法

    本文讲述SharePoint 2010/2013 使用Javascript来判断权限的三种方法的实现方式及其优缺点. 1. 根据用户所在的SharePoint组(比如用户在Leader 组才可以使用审 ...

  2. SharePoint 2010 加入项目到用户/欢迎菜单

    SharePoint 2010 加入项目到用户/欢迎菜单         近期QQ群里有人问怎样加入链接项目到SharePoint 2010 网站右上角的下拉菜单中.事实上,SharePoint 20 ...

  3. 在SharePoint 2010中创建网站的权限级别

    转:http://www.360sps.com/Item/CreatePermissionLevels.aspx 权限级别是SharePoint 2010新增加的功能,使我们对权限的设置又提高了一个层 ...

  4. SharePoint 2010以其他用户身份登录的弹出代码

    在SharePoint 2010平台中,可以在当前用户登录系统的情况下使用其他用户身份登录,以达到在同一浏览器中切换用户身份的目的. 每个用户登录SharePoint系统之后都会在系统右上角将用户的名 ...

  5. [sharepoint]根据用户名获取该用户的权限

    写在前面 这样的一个场景,客户端请求sharepoint的rest api,但不允许传输用户的密码,使用的是证书认证的方式,但这样所有的用户用的是同一个证书,这样造成的结果就是无法识别该用户是否有操作 ...

  6. SharePoint 2010 获取列表中所有数据(包括文件夹内)的方法

    转: http://blog.csdn.net/wangwenism/article/details/8751411 SharePoint的列表能存储文件以及文件夹,用户使用的时候,经常会建几个分类文 ...

  7. 关于sharepoint 2010无法显示用户中文名的解决方法和详细剖析

    相信这个问题许多做sharepoint的朋友都曾经遇到过,就是本来很正常的中文用户名莫名其妙的变成了“域名\账号”,我本人也遇到过好多次,每次都是百度谷歌一下草草解决问题,始终也没真正去弄明白是怎么回 ...

  8. SharePoint 2010 获取列表全部定义方法

    http://spf06/_vti_bin/owssvr.dll?Cmd=ExportList&List=%7B220128F0-6084-45B3-9942-C29B3AF6663C%7D ...

  9. PowerShell获取当前用户的权限

      function Get-CurrentUserRoles {   $SecurityPrinciple = New-Object -TypeName System.Security.Princi ...

随机推荐

  1. 十一、mysql输入安全

    .尽量使用“绑定参数”功能,php中可用pdo进行一系列操作 .php可使用mysql_real_escape_string()函数进行输入过滤:

  2. UltraEdit 列模式

    使用UltraEdit 列模式 1 进入UltraEdit列模式 a)       通过快捷方式 Alt +c b)       UltraEdit --> Column Mode

  3. easyui 多行文本框 Multiline TextBox

    <input class="easyui-textbox" data-options="multiline:true" value="This ...

  4. 【BZOJ 1022】 [SHOI2008]小约翰的游戏John

    Description 小约翰经常和他的哥哥玩一个非常有趣的游戏:桌子上有n堆石子,小约翰和他的哥哥轮流取石子,每个人取的时候,可以随意选择一堆石子,在这堆石子中取走任意多的石子,但不能一粒石子也不取 ...

  5. 监控SQL Server的job执行情况

    在服务器没有设置发邮件并且不允许发邮件的情况下, 可以通过下列语句来检查SQL Server 的job的执行情况 select top 150 a.run_date,a.run_time, b.nam ...

  6. iPhone手机屏幕的尺寸

    以下是 iPhone的型号和对应的屏幕宽高 英寸  宽 高  厚度 3.5   320 480 4s      ipad   系列   4   320 568 5   5s   4.7  375 66 ...

  7. PD name 和 comment 互换

    1 PowerDesigner中批量根据对象的name生成comment的脚本 执行方法:Open PDM -- Tools -- Execute Commands -- Run Script --- ...

  8. java 取小数点后两位 不四舍五入,怎么做

    java 取小数点后两位 不四舍五入,怎么做 正常版: //正常版: import java.text.DecimalFormat; import java.math.RoundingMode; De ...

  9. Winform Datagridview 点击headercolumn排序

    /// <summary> /// 排序顺序 /// </summary> bool asc; /// <summary> /// Dgv点击排序 /// < ...

  10. PAT-乙级-1025. 反转链表 (25)

    1025. 反转链表 (25) 时间限制 300 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 给定一个常数K以及一个单链表L,请 ...