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中来,为我们的开发带来便利。

时间: 2024-12-19 23:43:19

SharePoint 2013 通过HttpModule 管理视图权限的相关文章

SharePoint 2013 单一页面赋设计权限

本文介绍SharePoint的使用中,断开单一页面权限,给用户编辑权限以及操作中遇到的问题,希望给相关需要的人一个参考. 1.首先进入页面库,找到我们的页面,进入共享,如下图: 2.在弹出的窗口中选择高级,如下图: 3.在进入权限编辑页面,首先断开当前页面的权限继承,如下图: 4.然后勾选所有继承的权限,删除,如下图: 5.而后点击Grant Permission,也就是授权,如下图: 6.按照我的理解,该用户对站点有访问权限,对单独页面具有编辑权限,就可以个性化该页面,但是添加一些WebPar

Sharepoint 2013 user permissions(用户权限)

 Read: This permission level gives you read-only access to the website. Contribute:  In addition to all the permissions included in the Read permission level, the Contribute permission level allows you to create, edit, and delete items in existing li

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

?? 博客地址:http://blog.csdn.net/FoxDave 今天在管理中心创建新的Web应用程序时,想注册一个新的管理账户,一着急点了两次按钮,结果就出现了这样的错误...怎么说呢,太奇葩了,所以记录一下. 至此,点击新建菜单创建新的Web应用程序不能了... 既然管理账户重复了,首先尝试在界面上去删除:管理中心->安全性->一般安全性->配置管理账户,这里确实有两个一模一样的,但是点删除按钮一样报错,看来只好通过PowerShell操作了... 登录到SharePoint

SharePoint 2013 JavaScript 对象判断用户权限

场 景 近期有个场景,判断当前用户对项目有没有编辑权限,使用JavaScript完成,弄了好久才弄出来,分享一下,有需要的自行扩展吧,具体如下: 代 码 function getPermissions() { var mycontext = new SP.ClientContext(); var mysite = mycontext.get_web(); var mylist = mysite.get_lists().getByTitle('Demo'); myitem = mylist.get

SharePoint 2013 JavaScript 对象推断用户权限

?场 景 最近有个场景,推断当前用户对项目有没有编辑权限,使用JavaScript完毕.弄了好久才弄出来.分享一下,有须要的自行扩展吧,详细例如以下: 代 码 function getPermissions() { var mycontext = new SP.ClientContext(); var mysite = mycontext.get_web(); var mylist = mysite.get_lists().getByTitle('Demo'); myitem = mylist.

SharePoint 2013 开启訪问请求

1.通常,我们进入SharePoint 2013网站,假设没权限会提示该网站未被共享,而没有切换账号或者申请訪问,实在是非常流氓:事实上,SharePoint为我们提供了訪问请求页面.可是可能须要手动开启: 2.例如以下图,正是SharePoint的訪问请求页面,我们能够发送请求原因: 3.首先进入站点设置,然后点击站点权限.也就是Site Permission,例如以下图: 4.在进入权限设置以后,Ribbon菜单上有Access Request Settings,也就是訪问请求设置.例如以下

SharePoint 2013 工作流之年假审批Designer配置篇

原文:SharePoint 2013 工作流之年假审批Designer配置篇 本文介绍SharePoint 2013 使用Designer工具,设计年假审批工作流,由于流程所用的条件和操作都比较简单,所以演示为主,最后附流程图和流程的文本图,有兴趣的可以参照实验.如果对于Designer设计工作流的方法不是很熟悉,可以参见本博客的其他文章. 1.新建请假申请列表,创建一张请假申请表,如下图: 2.选中请假申请表,点击工作流: 3.在工作流页面,选中启动工作流: 4.回到列表页,发现工作流已经启动

SharePoint 2013技巧分享系列 - 同步Exchange显示高清用户照片

在"SharePoint 2013技巧分享系列 - Active Directory同步显示用户照片"文中介绍了如何同步Active Directory显示用户照片,但是同步完成后,用户照片尺寸和清晰度都不是非常理想.本文将介绍如何同步Exchange Server显示高清用户照片. 原理 与SharePoint Server 2010相似, 在SharePoint Server 2013中存在一个用户照片的目录.当SharePoint启用Exchange照片同步时, SharePoi

SharePoint 2013 开启访问请求

1.通常,我们进入SharePoint 2013站点,如果没权限会提示该站点未被共享,而没有切换账号或者申请访问,实在是很流氓:其实,SharePoint为我们提供了访问请求页面,但是可能需要手动开启: 2.如下图,正是SharePoint的访问请求页面,我们可以发送请求原因: 3.首先进入网站设置,然后点击网站权限,也就是Site Permission,如下图: 4.在进入权限设置以后,Ribbon菜单上有Access Request Settings,也就是访问请求设置,如下图: 5.进入以