SharePoint 2013 通过HttpModule 管理视图权限
HttpModule工作原理
HttpModule负责监听HttpRequest,当一个HTTP请求到达HttpModule时,整个ASP.NET Framework系统还并没有对这个HTTP请求做任何处理,也就是在此时,我们进行权限的判断,如果没有相关权限导向跳转页面。
创建HttpModule并部署
1、打开Visual Studio 2013(当然可以用你所安装的任何版本VS),选择创建新的Project,如下图:
2、选择Visual C#节点中Web几点,选择“ASP.NET Web Application”,如下图:
3、选择一个空的template即可,然后点击OK,如下图:
4、在Project里创建一个新项目,选择ASP.NET Module,输入名字,点击Add,如下图:
5、在新加的HttpModule项目里,Init方法内添加一个新事件(这个事件是在完成所有Request时执行的),如下图:
6、在新添加的方法里,添加我们判断的代码,我这里测试的视图地址是/sites/JianYu/DocLibrary/Forms/AllItems.aspx,如果当前用户符合规则,不做任何处理,否则跳转到没有权限的页面。当然,记得引用MicroSoft.SharePoint.dll这个文件;
7、当然还要创建跳转页面,我们去到页面库,我们看到只有一个找不到页面时候访问的页面,我们添加一个没有权限的页面,如下图:
8、点击Ribbon菜单上面Files里面New Document,选择Page,如下图:
9、填写Title和URL Name,然后选择跳转页面的页面布局,点击创建,如下图:
10、创建完成后,进入页面库,找到我们创建的页面,编辑属性,如下图:
11、找到跳转URL属性,填写首页地址,如下图:
12、然后看到这个页面已经创建完毕了,如果需要,可以修饰一下,如下图:
13、接下来就是部署HttpModule了,找到我们应用程序的web.config,如下图:
14、找到web.config添加我们HttpModule的注册信息,如下图:
15、将生产的dll文件,部署到端口下的bin目录下,如下图:
16、通过浏览器工具,可以看到页面跳转的过程,如下图:
总 结
当然,我这个权限判断比较简单,如果需要负责的权限管理,可以设计一个权限列表,用来管理页面和用户与组即可,这个都是比较简单的了,呵呵。
就是一篇比较简单的HttpModule在SharePoint上的应用,SharePoint本身基于Net的,可能还有很多Net的开发方式,可以应用到SharePoint中来,为我们的开发带来便利。
SharePoint 2013 通过HttpModule 管理视图权限的更多相关文章
- Sharepoint 2013 user permissions(用户权限)
Read: This permission level gives you read-only access to the website. Contribute: In addition to ...
- sharepoint 2013 文档库eventhandle权限控制
记录一下如何在sharepoint server 2013文档库中,使用eventhandle控制文档库document library的条目item权限. ///<summary> // ...
- Sharepoint 2013企业内容管理学习笔记终章
说完了半自动化内容管理&全自动化内容管理,下面我们来说另外一个企业内容管理的东东吧 企业内容记录化 这个企业内容记录化,其实是我起的名字了,在sharepoint里面它叫做声明记录 这个声明记 ...
- SharePoint 2013 单一页面赋设计权限
本文介绍SharePoint的使用中,断开单一页面权限,给用户编辑权限以及操作中遇到的问题,希望给相关需要的人一个参考. 1.首先进入页面库,找到我们的页面,进入共享,如下图: 2.在弹出的窗口中选择 ...
- SharePoint 2013 重复的管理账户错误:已添加项。字典中的关键字 所添加的关键字
博客地址:http://blog.csdn.net/FoxDave 今天在管理中心创建新的Web应用程序时,想注册一个新的管理账户,一着急点了两次按钮,结果就出现了这样的错误...怎么说呢,太奇葩 ...
- Sharepoint 2013企业内容管理学习笔记(一) 半自动化内容管理
大家好,今天我来与大家分享一个关于sharepoint2013文档管理方面的一个知识,我相信也许早就有人了解并熟知这项技术了,呵呵,众所周知,sharepoint 有一个很亮的功能,什么?没错,就是文 ...
- SharePoint 2013 JavaScript 对象判断用户权限
场 景 近期有个场景,判断当前用户对项目有没有编辑权限,使用JavaScript完成,弄了好久才弄出来,分享一下,有需要的自行扩展吧,具体如下: 代 码 function getPermissions ...
- Sharepoint 2013企业内容管理学习笔记(二) 全自动化内容管理
全自动化内容管理 所谓全自动化内容管理啊,其实对于用户来说,就更简单便捷有爱了,用户只需要把文件上传到部门网站的放置库中,文件就会快速自动躺到企业记录中心的某个归档记录库了,怎么样,很方便,有没有,很 ...
- SharePoint 2013 JavaScript 对象推断用户权限
场 景 最近有个场景,推断当前用户对项目有没有编辑权限,使用JavaScript完毕.弄了好久才弄出来.分享一下,有须要的自行扩展吧,详细例如以下: 代 码 function getPermissi ...
随机推荐
- 漫谈可视化Prefuse(四)---被玩坏的Prefuse API
这个双12,别人都在抢红包.逛淘宝.上京东,我选择再续我的“漫谈可视化”系列(好了,不装了,其实是郎中羞涩...) 上篇<漫谈可视化Prefuse(三)---Prefuse API数据结构阅读有 ...
- Sql Server优化之索引提示----我们为什么需要查询提示,Sql Server默认情况下优化策略选择的不足
环境: Sql Server2012 SP3企业版,Windows Server2008 标准版 问题由来: 最近在做DB优化的时候,发现一个存储过程有非常严重的性能问题, 由于整个SP整体逻辑是一个 ...
- Jquery基本用法总结
选择器$("#mydiv") 通过ID$("p#myp") 选择id=myp 的所有p元素(组合型)$(".mydiv") 通过 class ...
- Windows Azure Service Bus (2) 队列(Queue)入门
<Windows Azure Platform 系列文章目录> Service Bus 队列(Queue) Service Bus的Queue非常适合分布式应用.当使用Service Bu ...
- Auto Mapper04(MVC中的配置)
学习如何在MVC项目中配置AutoMapper. 一:首先在MVC项目中引用AutoMapper的DLL文件,接着创建一个接口,这里面我们需要定义两个方法,接口里面的方法只能定义不能实现,也没有什么修 ...
- Socket.Available 属性
获取已经从网络接收且可供读取的数据量. 命名空间: System.Net.Sockets程序集: System(System.dll 中) 从网络接收的.可供读取的数据的字节数. 异常 Ex ...
- 【转载】8天学通MongoDB——第三天 细说高级操作
今天跟大家分享一下mongodb中比较好玩的知识,主要包括:聚合,游标. 一: 聚合 常见的聚合操作跟sql server一样,有:count,distinct,group,mapReduce. &l ...
- T-SQL删除重复数据
数据重复分为两种情况:一种是每个字段都相同的完全重复,第二种是部分字段重复的结果集.比如Name字段重复,而其他字段不一定重复或者重复可以忽略. 第一种情况比较容易解决,使用select distin ...
- jquery列表顺序倒转排序效果
html文件代码: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type&quo ...
- C#编程总结(五)多线程带给我们的一些思考
C#编程总结(五)多线程带给我们的一些思考 如有不妥之处,欢迎批评指正. 1.什么时候使用多线程? 这个问题,对于系统架构师.设计者.程序员,都是首先要面对的一个问题. 在什么时候使用多线程技术? 在 ...