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 管理视图权限的更多相关文章

  1. Sharepoint 2013 user permissions(用户权限)

     Read: This permission level gives you read-only access to the website. Contribute:  In addition to ...

  2. sharepoint 2013 文档库eventhandle权限控制

    记录一下如何在sharepoint server 2013文档库中,使用eventhandle控制文档库document library的条目item权限. ///<summary> // ...

  3. Sharepoint 2013企业内容管理学习笔记终章

    说完了半自动化内容管理&全自动化内容管理,下面我们来说另外一个企业内容管理的东东吧 企业内容记录化 这个企业内容记录化,其实是我起的名字了,在sharepoint里面它叫做声明记录 这个声明记 ...

  4. SharePoint 2013 单一页面赋设计权限

    本文介绍SharePoint的使用中,断开单一页面权限,给用户编辑权限以及操作中遇到的问题,希望给相关需要的人一个参考. 1.首先进入页面库,找到我们的页面,进入共享,如下图: 2.在弹出的窗口中选择 ...

  5. SharePoint 2013 重复的管理账户错误:已添加项。字典中的关键字 所添加的关键字

    博客地址:http://blog.csdn.net/FoxDave 今天在管理中心创建新的Web应用程序时,想注册一个新的管理账户,一着急点了两次按钮,结果就出现了这样的错误...怎么说呢,太奇葩 ...

  6. Sharepoint 2013企业内容管理学习笔记(一) 半自动化内容管理

    大家好,今天我来与大家分享一个关于sharepoint2013文档管理方面的一个知识,我相信也许早就有人了解并熟知这项技术了,呵呵,众所周知,sharepoint 有一个很亮的功能,什么?没错,就是文 ...

  7. SharePoint 2013 JavaScript 对象判断用户权限

    场 景 近期有个场景,判断当前用户对项目有没有编辑权限,使用JavaScript完成,弄了好久才弄出来,分享一下,有需要的自行扩展吧,具体如下: 代 码 function getPermissions ...

  8. Sharepoint 2013企业内容管理学习笔记(二) 全自动化内容管理

    全自动化内容管理 所谓全自动化内容管理啊,其实对于用户来说,就更简单便捷有爱了,用户只需要把文件上传到部门网站的放置库中,文件就会快速自动躺到企业记录中心的某个归档记录库了,怎么样,很方便,有没有,很 ...

  9. SharePoint 2013 JavaScript 对象推断用户权限

    场 景 最近有个场景,推断当前用户对项目有没有编辑权限,使用JavaScript完毕.弄了好久才弄出来.分享一下,有须要的自行扩展吧,详细例如以下: 代 码 function getPermissi ...

随机推荐

  1. 漫谈可视化Prefuse(四)---被玩坏的Prefuse API

    这个双12,别人都在抢红包.逛淘宝.上京东,我选择再续我的“漫谈可视化”系列(好了,不装了,其实是郎中羞涩...) 上篇<漫谈可视化Prefuse(三)---Prefuse API数据结构阅读有 ...

  2. Sql Server优化之索引提示----我们为什么需要查询提示,Sql Server默认情况下优化策略选择的不足

    环境: Sql Server2012 SP3企业版,Windows Server2008 标准版 问题由来: 最近在做DB优化的时候,发现一个存储过程有非常严重的性能问题, 由于整个SP整体逻辑是一个 ...

  3. Jquery基本用法总结

    选择器$("#mydiv") 通过ID$("p#myp") 选择id=myp 的所有p元素(组合型)$(".mydiv") 通过 class ...

  4. Windows Azure Service Bus (2) 队列(Queue)入门

    <Windows Azure Platform 系列文章目录> Service Bus 队列(Queue) Service Bus的Queue非常适合分布式应用.当使用Service Bu ...

  5. Auto Mapper04(MVC中的配置)

    学习如何在MVC项目中配置AutoMapper. 一:首先在MVC项目中引用AutoMapper的DLL文件,接着创建一个接口,这里面我们需要定义两个方法,接口里面的方法只能定义不能实现,也没有什么修 ...

  6. Socket.Available 属性

    获取已经从网络接收且可供读取的数据量. 命名空间:   System.Net.Sockets程序集:  System(System.dll 中) 从网络接收的.可供读取的数据的字节数. 异常   Ex ...

  7. 【转载】8天学通MongoDB——第三天 细说高级操作

    今天跟大家分享一下mongodb中比较好玩的知识,主要包括:聚合,游标. 一: 聚合 常见的聚合操作跟sql server一样,有:count,distinct,group,mapReduce. &l ...

  8. T-SQL删除重复数据

    数据重复分为两种情况:一种是每个字段都相同的完全重复,第二种是部分字段重复的结果集.比如Name字段重复,而其他字段不一定重复或者重复可以忽略. 第一种情况比较容易解决,使用select distin ...

  9. jquery列表顺序倒转排序效果

    html文件代码: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type&quo ...

  10. C#编程总结(五)多线程带给我们的一些思考

    C#编程总结(五)多线程带给我们的一些思考 如有不妥之处,欢迎批评指正. 1.什么时候使用多线程? 这个问题,对于系统架构师.设计者.程序员,都是首先要面对的一个问题. 在什么时候使用多线程技术? 在 ...