SharePoint 2013 通过HttpModule 管理视图权限

简介: HttpModule工作原理   HttpModule负责监听HttpRequest,当一个HTTP请求到达HttpModule时,整个ASP.NET Framework系统还并没有对这个HTTP请求做任何处理,也就是在此时,我们进行权限的判断,如果没有相关权限导向跳转页面。

HttpModule工作原理

  HttpModule负责监听HttpRequest,当一个HTTP请求到达HttpModule时,整个ASP.NET Framework系统还并没有对这个HTTP请求做任何处理,也就是在此时,我们进行权限的判断,如果没有相关权限导向跳转页面。

创建HttpModule并部署

  1、打开Visual Studio 2013(当然可以用你所安装的任何版本VS),选择创建新的Project,如下图:

clip_image001

  2、选择Visual C#节点中Web几点,选择“ASP.NET Web Application”,如下图:

clip_image002

  3、选择一个空的template即可,然后点击OK,如下图:

clip_image003

  4、在Project里创建一个新项目,选择ASP.NET Module,输入名字,点击Add,如下图:

clip_image004

  5、在新加的HttpModule项目里,Init方法内添加一个新事件(这个事件是在完成所有Request时执行的),如下图:

clip_image005

  6、在新添加的方法里,添加我们判断的代码,我这里测试的视图地址是/sites/JianYu/DocLibrary/Forms/AllItems.aspx,如果当前用户符合规则,不做任何处理,否则跳转到没有权限的页面。当然,记得引用MicroSoft.SharePoint.dll这个文件;

clip_image006

  7、当然还要创建跳转页面,我们去到页面库,我们看到只有一个找不到页面时候访问的页面,我们添加一个没有权限的页面,如下图:

clip_image007

  8、点击Ribbon菜单上面Files里面New Document,选择Page,如下图:

clip_image008

  9、填写Title和URL Name,然后选择跳转页面的页面布局,点击创建,如下图:

clip_image009

  10、创建完成后,进入页面库,找到我们创建的页面,编辑属性,如下图:

clip_image010

  11、找到跳转URL属性,填写首页地址,如下图:

clip_image011

  12、然后看到这个页面已经创建完毕了,如果需要,可以修饰一下,如下图:

clip_image012

  13、接下来就是部署HttpModule了,找到我们应用程序的web.config,如下图:

clip_image013

  14、找到web.config添加我们HttpModule的注册信息,如下图:

clip_image014

  15、将生产的dll文件,部署到端口下的bin目录下,如下图:

clip_image015

  16、通过浏览器工具,可以看到页面跳转的过程,如下图:

clip_image016

总 结

  当然,我这个权限判断比较简单,如果需要负责的权限管理,可以设计一个权限列表,用来管理页面和用户与组即可,这个都是比较简单的了,呵呵。

  就是一篇比较简单的HttpModule在SharePoint上的应用,SharePoint本身基于Net的,可能还有很多Net的开发方式,可以应用到SharePoint中来,为我们的开发带来便利。

目录
相关文章
|
5月前
|
API 网络架构 C++
SharePoint Online SPFx Web部件绑定数据
【7月更文挑战第6天】在Markdown格式下,以下是关于创建SharePoint Online SPFx Web部件绑定数据步骤的摘要: 1. 创建数据列表。 2. 使用VS Code打开Web部件。 3. 定义列表模型(如`IList`和`IListItem`接口)。 4. 引入`spHttpClient`以执行REST API请求。 5. 实现`_getListData()`方法,调用REST服务获取列表数据。 6. 设计`_renderList()`方法来渲染数据。 7. 在`render()`方法中获取并渲染数据到Web部件。
Confluence 6 启用嵌套用户组
一些目录服务器能够允许你在一个组中定义另外一个组。在这种结构下的用户组称为用户组嵌套。嵌套组的配置能够让子用户组继承上级用户组的权限,使系统的权限配置变得简单。
1113 0
|
数据安全/隐私保护
|
数据库 数据安全/隐私保护