转: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. 模式对话框里的CheckedChanged事件

    问题:   模式对话框里的CheckedChanged事件不被触发: 解决方法: 一.先不直接showModalDialog出要的页面,而是要放一个中单页面 window.showModalDialo ...

  2. 【BZOJ 1009】 [HNOI2008]GT考试

    Description 阿申准备报名参加GT考试,准考证号为N位数X1X2....Xn(0<=Xi<=9),他不希望准考证号上出现不吉利的数字.他的不吉利数学A1A2...Am(0< ...

  3. python 新时代

    今天看到有关python的文章,感觉很好奇,学了python很久了,但是还没有真正的用过,只是写一些小程序 看了这篇文章以后真的感觉自己所了解都是皮毛,在此与大家分享: 原文链接:http://www ...

  4. EF4.1之覆盖EF的默认的约定

    覆盖EF默认的约定可以通过两种方式: 1.拦截模型构建器,使用流畅的API 2.通过给 类添加标签 好的,我还用之前定义的订单类来做例子: public class Order { public in ...

  5. 链接Eclipse和SQL SEVER

    一.本文内容 讲诉使用JDBC建立Eclipse和Sql sever的桥梁的过程与其中可能遇见的问题. 二.详细内容 1.JDBC驱动的下载 建议一定要上与SQL SEVER相关的微软官网下载,以便找 ...

  6. python List&Set&Dict交集、并集、差集

    1.python List交集.并集.差集 1). 获取两个list 的交集#方法一: a=[2,3,4,5] b=[2,5,8] tmp = [val for val in a if val in  ...

  7. C++ 嵌套类使用(二)

    C++嵌套类 1.   嵌套类的名字只在外围类可见. 2.   类的私有成员只有类的成员和友元可以访问,因此外围类不可以访问嵌套类的私有成员.嵌套类可以访问外围类的成员(通过对象.指针或者引用). 3 ...

  8. C++ 嵌套类使用(一)

    一.嵌套类 在一个类的内部定义另一个类,我们称之为嵌套类(nested class),或者嵌套类型.之所以引入这样一个嵌套类,往往是因为外围类需要使用嵌套类对象作为底层实现,并且该嵌套类只用于外围类的 ...

  9. Android GridView、ListView、ScrollView上下拉刷新

    实现方法是将显示的内容最外层的ViewGroup做成一个LinearLayout,并扩展它,使其可以上下拖动. 重点是实现View的onTouch方法. 下载:http://files.cnblogs ...

  10. BZOJ 3925 ZJOI2015 地震后的幻想乡

    假设我们用了边权前i小的边使得图连通,那么对答案的贡献为i/m+1 又因为期望的线性性质,我们只需要求用了i条边就可以了 不妨设g(S)(i)表示用了i条边使得点集S连通的概率 设f(S)(i)表示用 ...