我需要允许非农场管理员能够使用非常特定的站点定义来创建站点收集。这些人将无法访问中央管理员,因此需要自定义解决方案来创建这些解决方案。我尝试了几种解决方案,但希望就推荐的方法达成共识。

  1. 自定义Web服务 - 我已经编写了一个自定义的Web服务来执行此任务,但是这引起了重大头痛,即使Web服务使用与SharePoint App池相同的身份在应用程序池中运行,但我无法使此功能正常工作。在尝试执行此Web服务时,还遇到了Form Digest问题。

  2. Web零件/应用程序页面 - 在SharePoint上下文中,这里没有表格摘要问题,但是我尝试使用runwithelevedprivileges,但是即使所有spsite and spsite and spsite和spbebijects都是在高架代码块内实例化。我已经尝试在UI级别进行直接模仿,但我得到了一个无与伦比的感受,说模仿失败了。

  3. STSADM周围的应用程序包装器 - 我还没有尝试过这种方法,因为我担心这种方法的可行性,肯定有一种比这更干净的方法吗?

关于此的一些指导将很有用,因为我在这里找不到太多的指导。

谢谢

有帮助吗?

解决方案

问题是您不能使用RWEP创建站点集合。 RWEP采用App池的身份,很可能(如果您配置了正确的农场),此帐户不是农场管理员组的成员,这是创建网站收集所必需的。如果您在中央管理员中运行代码,则它将起作用,因为它需要农场管理员的CA应用程序池的身份。

因此,您有许多选项来创建此功能:

  1. 您可以将农场管理员授予您的应用程序池帐户,并按照正常的方式进行 - 不建议!
  2. 在Central Admin中创建Web应用程序以创建此网站 - 不建议您不想向用户展示CA
  3. 创建一些计时器作业(作为农场管理员运行),然后将您的“创建站点收集请求”添加到计时器作业检查的列表中。然后,计时器作业创建站点coll,最终创建时,将其发送给请求网站Coll的用户。这将是一个略有延迟(取决于计时器作业的频率),直到用户拥有其网站coll为止。
  4. 在CA中创建Web服务,该服务使网站Coll。然后从您的自定义代码调用此Web服务。

我已经使用了成功的两种方法。

/ww

许可以下: CC-BY-SA归因
scroll top