最近给客户做项目,客户有这样一个需求,就是不同SharePoint Group里面的人,进到页面里,看到的东西不一样。

  最开始想到的解决方案是,通过前端代码来解决,但是这样会有两个问题,首先代码是异步的,可能会有延时;其次是前端代码读取用户组里的用户,然后和当前用户对比,写起来也比较麻烦。

  碰到复杂的需求,我们一般不要上来就用杀招,比如运维有问题就直接重启(最后的杀招),需求有问题就直接代码(很傻很天真)。

   产品本身不是这样去做的,你要去了解她本身的功能。大家要注意,我这里用了这样一个她,SharePoint 就是这样的,她有自己的特点,也有自己的情绪,更会每个月都有那么几天的小心情(跑题了(lll¬ω¬))。

  突然想到SharePoint 有个功能叫做目标访问群体,意思就是不同群体的人看到的东西,是不一样的。这个功能的配置,就在WebPart 的属性面板里( Foundation 版本没有),最下面英文名叫做Target Audiences。

  首先,需要创建两个SharePoint Group,用来区分这两类人:

  Tips:如果不会创建,没关系,在网站设置 – 人员和组,就是下面界面;点击Groups,进入所有组列表,点击New就可以了;如果只是用作目标访问群体,可以不为组分配权限

SharePoint 目标访问群体

  然后,在页面上添加内容编辑器部件(英文名叫Content Editor,如下图),添加两个部件,一个为Admin组使用,另一个为Users组使用;

SharePoint 目标访问群体

  在内容编辑器的部件里编写HTML+CSS+JavaScript的代码,然后,在WebPart 属性面板里找到目标访问群体,设置成对应的SharePoint 组,如下图:

SharePoint 目标访问群体

  这样,当我们Admin组里的人访问页面,就只能看到这个部件的内容了;

SharePoint 目标访问群体

  结束语

  很简单的配置,就实现了这样的小需求,这就是SharePoint的无代码特性。其实,不仅仅内容编辑器部件,其他部件也具有这样的特性。

  再举个栗子(很香甜),比如列表页面显示的列表项,很多时候需要给某些组的人隐藏,也可以通过这样的操作来实现。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注