none
sp2007表单库编辑权限设定问题 RRS feed

  • 问题

  • 遇到这样一个场景:某部门所有成员的工作计划用一张infopath表单来实现,然后发布到文档库

    但是现在问题来了,我发现不论我如何设置权限,都无法阻止其他人来编辑已经提交了的表单。

    在列表的高级权限设置里有“只允许编辑自己创建的项目”这类的设置,但表单库如何实现相同的效果呢?


    B.C

    2012年11月5日 11:29

答案

  • Hi Runnerchin,

    SharePoint  2007 中,文档库并没有列表中的那个功能。只能是自己修改自己的表单。这个你需要做自定义的开发了。你可以创建一个event handler,去监听你的文档库。当要编辑文档库的时候,你判断当前的用户是不是文档的创建者就知道了。

     public override void ItemDeleting(SPItemEventProperties properties)
           {
               base.ItemDeleting(properties);
               SPListItem item = properties.ListItem;
               string author = item["Author"].ToString();
               SPUser user = properties.Web.CurrentUser;
               if (user.Name != author)
               {
                   properties.Cancel = true;
                   properties.ErrorMessage = "The form cannot be modify, because you are not the author";
               }
           }

    关于event receive 你可以参考如下连接。

    http://www.cnblogs.com/snailJuan/archive/2012/05/08/2490285.html

    还有一种方法就是视图中匹配自己的文档,在列中有个过滤的功能,英文界面下 输入[Me], 如果你是中文的,使用 [我]。 这样每个人只看到自己的文档,就不会去错误的去修改别人的文档的

    Thanks,

    Jack


    2012年11月6日 4:54
    版主

全部回复

  • Hi Runnerchin,

    SharePoint  2007 中,文档库并没有列表中的那个功能。只能是自己修改自己的表单。这个你需要做自定义的开发了。你可以创建一个event handler,去监听你的文档库。当要编辑文档库的时候,你判断当前的用户是不是文档的创建者就知道了。

     public override void ItemDeleting(SPItemEventProperties properties)
           {
               base.ItemDeleting(properties);
               SPListItem item = properties.ListItem;
               string author = item["Author"].ToString();
               SPUser user = properties.Web.CurrentUser;
               if (user.Name != author)
               {
                   properties.Cancel = true;
                   properties.ErrorMessage = "The form cannot be modify, because you are not the author";
               }
           }

    关于event receive 你可以参考如下连接。

    http://www.cnblogs.com/snailJuan/archive/2012/05/08/2490285.html

    还有一种方法就是视图中匹配自己的文档,在列中有个过滤的功能,英文界面下 输入[Me], 如果你是中文的,使用 [我]。 这样每个人只看到自己的文档,就不会去错误的去修改别人的文档的

    Thanks,

    Jack


    2012年11月6日 4:54
    版主
  • 非常感谢,回答很简洁,而且说到了问题的关键,我把相关的文章看完了,这个正是我要的东西,但是可惜我有一点地方因为欠缺了基本知识,所以没法使用这个方法。最后为每个人建了一个表单库来控制权限。再次感谢。

    B.C

    2012年11月7日 6:13