none
关于sharepoint2010权限分配的问题 RRS feed

  • 问题

  • 大家好:

            问题描述:

            管理员上传了文档,对这个文档设定了一定的访问权限。A用户想看该文档,但是没有权限,想通过发送邮件的方式给该管理员通知,然后管理员看到该邮件,在给用户附权限。

           问题提出:

           现在客户需要这样操作,A客户给管理员发邮件,邮件的内容包括一个链接,该链接就是权限链接,管理员只要点击这个链接,A用户就有查看该文档那权限了。这样的需求是怎么实现,请大家帮助我一下,或者给我解决的思路。谢谢

    2012年10月26日 20:05

答案

  • Hi virus,

    SharePoint 2010 中,首先里面有许多问题。 首先你的用户发邮件,里面的链接就是权限链接。 这个是很模糊的而且也不可取,客户怎么知道权限在呢? 管理员点一下链接, 我建议这个链接要链接到一个自定义页面,要自定义开发才行的。

    首先你的链接中要包含这个用户的域账户和组名字的名字,管理员单击后,将这两个自定义的参数传递到自定义的页面,获得这两个参数然后就可以开发了。

    比如说你的文档库只开放给A组人员,现在张三要来看文档,那么你的自定义页面中只需将张三 加入A组就可以了。

    public void AddUsers(string groupname, string username)
    {
       try
       {
             SPSecurity.RunWithElevatedPrivileges(delegate()
             {
                   // Gets a new security context using SHAREPOINT\system
                   using (SPSite site = new SPSite(SPContext.Current.Site.Url))
                   {
                         using (SPWeb thisWeb = site.OpenWeb())
                         {
                              thisWeb.AllowUnsafeUpdates = true;
                              SPUser Name = thisWeb.EnsureUser(username);
                              thisWeb.Groups[groupname].AddUser(Name);
                              thisWeb.AllowUnsafeUpdates = false;
                         }
                    }
       });
      }
      catch (Exception ex)
       {
           //Log error here.
       }
    }

    Thanks,

    Jack

    • 已标记为答案 virus black 2012年10月31日 19:07
    2012年10月30日 10:17
    版主

全部回复

  • Hi virus,

    SharePoint 2010 中,首先里面有许多问题。 首先你的用户发邮件,里面的链接就是权限链接。 这个是很模糊的而且也不可取,客户怎么知道权限在呢? 管理员点一下链接, 我建议这个链接要链接到一个自定义页面,要自定义开发才行的。

    首先你的链接中要包含这个用户的域账户和组名字的名字,管理员单击后,将这两个自定义的参数传递到自定义的页面,获得这两个参数然后就可以开发了。

    比如说你的文档库只开放给A组人员,现在张三要来看文档,那么你的自定义页面中只需将张三 加入A组就可以了。

    public void AddUsers(string groupname, string username)
    {
       try
       {
             SPSecurity.RunWithElevatedPrivileges(delegate()
             {
                   // Gets a new security context using SHAREPOINT\system
                   using (SPSite site = new SPSite(SPContext.Current.Site.Url))
                   {
                         using (SPWeb thisWeb = site.OpenWeb())
                         {
                              thisWeb.AllowUnsafeUpdates = true;
                              SPUser Name = thisWeb.EnsureUser(username);
                              thisWeb.Groups[groupname].AddUser(Name);
                              thisWeb.AllowUnsafeUpdates = false;
                         }
                    }
       });
      }
      catch (Exception ex)
       {
           //Log error here.
       }
    }

    Thanks,

    Jack

    • 已标记为答案 virus black 2012年10月31日 19:07
    2012年10月30日 10:17
    版主
  • 谢谢你的回复,对我启发很大。再次感谢
    2012年10月31日 6:17