最近被SharePoint列表视图分权限的问题困扰着,在网上搜到些解决方案,比较不错的是Bewise.SharePoint.SPViewPermissionSetting的解决方案,但是在修改视图权限配置的时候经常出问题,不知道是什么原因,后来从codeplex上找到了这个解决方案的源码,下来学习一下,总结如下:

它是通过自定义WebControl来修改ListViewWebPart的ViewSelector模板实现视图权限过滤的。

开工:

第一步、

先建个ListViewPermissionConfig列表,用来存放视图权限的配置信息。

列表栏:ListName(单行文本)、ViewName(单行文本)、ViewGuid(单行文本)、Permission(人员或用户组,允许多选)。

第二步、

开写代码,示意代码如下:

 

 1通过代码解决SharePoint列表视图权限分配问题using System;
 2通过代码解决SharePoint列表视图权限分配问题using System.Collections.Generic;
 3通过代码解决SharePoint列表视图权限分配问题using System.Text;
 4通过代码解决SharePoint列表视图权限分配问题using System.Web.UI;
 5通过代码解决SharePoint列表视图权限分配问题
 6通过代码解决SharePoint列表视图权限分配问题using Microsoft.SharePoint;
 7通过代码解决SharePoint列表视图权限分配问题using Microsoft.SharePoint.WebControls;
 8通过代码解决SharePoint列表视图权限分配问题
 9通过代码解决SharePoint列表视图权限分配问题namespace ITS.SharePoint.WebControls
10

 

编译完成后部署到GAC中。

 

第三部、

修改DefaultTemplate.ascx文件,在文件头部加入以下代码:

<%@ Register TagPrefix="ITSControls" Assembly="ITS.SharePoint.WebControls, Version=1.0.0.0, Culture=neutral, PublicKeyToken=f6cfe723df0de6cf" namespace="ITS.SharePoint.WebControls" %>

 

接着搜索"SharePoint:ViewSelectorMenu",替换成"<ItsControls:CustomerViewMenu",最终改完效果如下:

<ITSControls:CustomerViewMenu MenuAlignment="Right" AlignToParent="true" runat="server" id="ViewSelectorMenu" />

 

重启IIS后,进入网站,在ListViewPermissionConfig列表中配置一条视图权限信息。

说明:ViewGuid和Permission两项必须填写,列表默认视图无论是否配置权限都会显示。

最终配置完的效果如下图:

通过代码解决SharePoint列表视图权限分配问题

通过代码解决SharePoint列表视图权限分配问题

 

相关文章:

  • 2021-11-19
  • 2021-07-11
  • 2021-07-14
  • 2022-01-08
  • 2021-11-17
  • 2022-01-04
猜你喜欢
  • 2021-11-12
  • 2021-06-22
  • 2022-02-13
  • 2022-02-12
  • 2021-06-17
相关资源
相似解决方案