[sharepoint]根据用户名获取该用户的权限
写在前面
这样的一个场景,客户端请求sharepoint的rest api,但不允许传输用户的密码,使用的是证书认证的方式,但这样所有的用户用的是同一个证书,这样造成的结果就是无法识别该用户是否有操作,及查询的权限。这里是实际项目中遇到的一个问题。将解决方案,记录一下。
解决方案
try
{
ClientContext spContext = new ClientContext("http://xxxx/xxx/xxx");
spContext.ExecutingWebRequest += spContext_ExecutingWebRequest;
var list = spContext.Web.Lists.GetByTitle("test");
spContext.Load(list);
spContext.ExecuteQuery();
var permissions = list.GetUserEffectivePermissions(@"i:0#.w|domain\test15");
spContext.ExecuteQuery();
foreach (var permission in Enum.GetValues(typeof(PermissionKind)).Cast<PermissionKind>())
{
var permissionName = Enum.GetName(typeof(PermissionKind), permission);
var hasPermission = permissions.Value.Has(permission);
Debug.WriteLine("Permission: {0}, HasPermission: {1}", permissionName, hasPermission);
}
}
catch (Exception)
{ throw;
}
在回调方法中,带上证书认证
void spContext_ExecutingWebRequest(object sender, WebRequestEventArgs e)
{
HttpWebRequest webReq = e.WebRequestExecutor.WebRequest;
var accessToken = TokenHelper.GetS2SAccessTokenWithWindowsIdentity(new Uri("http://xxx/xxx/xxxxx"), null);
webReq.Method = "Post";
webReq.Accept = "application/json;odata=verbose";
webReq.Headers.Add("Authorization", "Bearer " + accessToken);
}
然后根据返回的权限,参考
SPBasePermissions 枚举
根据该枚举提供的值,判断该用户是否拥有权限。
[sharepoint]根据用户名获取该用户的权限的更多相关文章
- SharePoint 2010 获取当前用户的权限
转:http://blog.csdn.net/sygwin_net/article/details/6790500 操作环境:SharePoint 2010 关于SharePoint 的权限架构,具体 ...
- PowerShell获取当前用户的权限
function Get-CurrentUserRoles { $SecurityPrinciple = New-Object -TypeName System.Security.Princi ...
- CRM、用户管理权限
CRM目录结构 from django.shortcuts import HttpResponse,render,redirect from django.conf.urls import url f ...
- SharePoint 2013 开发——获取用户配置文件属性内容(User Profile)
博客地址:http://blog.csdn.net/FoxDave 本篇我们应用SharePoint CSOM(.NET)来读取用户配置文件的信息,个人开始逐渐倾向于客户端模型,因为不用远程登录到 ...
- Sharepoint 2013 user permissions(用户权限)
Read: This permission level gives you read-only access to the website. Contribute: In addition to ...
- SharePoint服务器端对象模型 之 访问用户、用户组和权限(Part 1)
(一)概述 SharePoint权限系统是整个SharePoint体系中一个比较重要的部分,权限系统主要分成两大部分:认证和授权. 认证主要解决的问题是判断登陆者是否合法,以及他究竟是哪一个用户,Sh ...
- 微信小程序之获取用户位置权限(拒绝后提醒)
微信小程序获取用户当前位置有三个方式: 1. wx.getLocation(多与wx.openLocation一起用) 获取当前的精度.纬度.速度.不需要授权.当type设置为gcj02 返回可用于w ...
- 【微信小程序】获取用户地理位置权限,二次请求授权,逆解析获取地址
摘要:微信小程序内获取用户地理位置信息授权,被拒绝后二次获取,获取权限后逆解析得到用户所在省市区等.. 场景:商城类小程序,在首页时需展示附近门店,即用户刚进入小程序时就需要获取到用户位置信息 ste ...
- Oracle用户,权限,角色以及登录管理 scoot 授权
Oracle用户,权限,角色以及登录管理 1. sys和system用户的区别 system用户只能用normal身份登陆em.除非你对它授予了sysdba的系统权限或者syspoer系统权限. sy ...
随机推荐
- 【框架】selenium网页端的基本自动化框架(四)
- mysql装完计算机管理里面没mysql服务怎么解决(转)
mysql装完计算机管理里面没mysql服务怎么解决 2017年07月04日 09:32:51 XC_Echizen 阅读数:7335 标签: mysql计算机mysql服务找不到mysql服务 更多 ...
- Android开发 ---SQLite数据库,lock文件,结果集游标,适配器,安全退出,给连接设置下划线,编辑器,投影,ContentValues存储,DbHelper,activity栈
目录截图: 1.activity_main.xml 主界面效果: <?xml version="1.0" encoding="utf-8"?> &l ...
- fullpage 中输入框弹起 页面上移问题处理
fullpage页面要是有输入框的话 点击输入框 键盘弹出的时候会把输入框也顶起来 页面就会向上移 但是键盘收回的时候页面还是上移的状态 对于这个问题只在android手机上出现 为了解决这个问题 ...
- nodejs -- require , exports , module
1. require , exports . -------------------------- 文件: 1) index.js //两种方式都可以: var forExports = requir ...
- APP加急审核
提交加急审核需要理由,一般涉及到银行信息,或者崩溃打不开这种的比较容易通过.反正苹果很苛刻,一般不给处理.如果处理第二天就可以下载最新了,省去了漫漫的等待.一个成功加急审核的借口-- We found ...
- 关于surface gradient
[转载请注明出处]http://www.cnblogs.com/mashiqi 2017/06/16 函数定义及前后文详见<Inverse Acoustic and Electromagneti ...
- 一个nginx服务器配置多站点
有时候你想在一台服务器上为不同的域名运行不同的站点.比如www.siteA.com作为博客,www.siteB.com作为论坛.你可以把两个域名的IP都解析到你的服务器上,但是没法在Nginx的根目录 ...
- Nginx自动安装脚本
添加一个install_nginx.sh脚本 版本一:(以下脚本为在线自动化安装) #!/bin/bash mkdir /soft cd /soft wget -c http://nginx.org/ ...
- java 从一个工程action 跳转到另外一个工程action
实现功能:java 从一个工程action 跳转到另外一个工程action 在我们实际编程的过程中,大家一定遇到过这种情况,那就是在一个工程中,需要使用到另外一个工程的实体Bean和方法.那么遇到这种 ...