gpt4 book ai didi

sharepoint - 连接到 SharePoint 服务器端

转载 作者:行者123 更新时间:2023-12-04 21:05:37 25 4
gpt4 key购买 nike

请注意,我说的是将我的代码注入(inject) SharePoint 服务器端(通过包/加载项等),而不是使用 Microsoft.SharePoint.dll。或 Web 服务来访问 SharePoint。

所以我的问题是,我需要自定义文档库的工作方式,包括自定义权限管理。我一直在浏览Microsoft.SharePoint.dll分析其工作的内部结构。以下是我的观察:

  • SPDocumentLibrary提供管理文档库的核心逻辑。但是,它不是 WebPart在自身。
  • 文档库的实际 Web 部件呈现可能由 ListViewWebPart 处理。或派生类。
  • 实际上有一个SPPictureLibrary让我假设可以继承 SPDocumentLibrary 的类类以在文档库上提供自定义行为。
  • WebPartAdder.SiteWebPartGalleryProvider以某种方式连接 SPDocumentLibrary到它的WebPart里面 Microsoft.SharePoint.WebPartPages.WebPartAdder.AddSources方法。

  • 现在所有这些都是客户端,这些都不会发生在 SharePoint 服务器本身 (afaik) 上。但是我在 SPSecurableObject 上看到了可覆盖的方法那 SPDocumentLibrary/ SPList覆盖,特别是:
  • CheckPermissions
  • GetUserEffectivePermissionInfo
  • GetUserEffectivePermissions
  • EffectiveBasePermissions

  • 我真正想做的是能够覆盖 CheckPermissions/ EffectiveBasePermissionsSPDocumentLibrary在 SharePoint 服务器中注入(inject)我的自定义逻辑。

    我现在将我的研究转移到 SharePoint 服务器端 dll 并理解它们。但我很想就这是否可行/指向正确的方向获得一些专家意见。 Microsoft 的标志(特别是考虑将 ASP.NET 2.0/ASP.NET MVC 作为基准)是可扩展性/提供程序框架。它们为开箱即用的“事物”提供了出色的提供者,但您可以通过继承/实现某些东西来替换默认提供者来创建类。所以:
  • 我可以注入(inject) SharePoint 服务器端吗?我理想的解决方案是创建一个 SPDocumentLibrary派生类(服务器端),并将其注入(inject),以便在任何时候实例化文档库时,都会创建我的类对象(而不是 SPDocumentLibrary ,假设这也是类服务器端。我仍然需要“反射(reflect)”SharePoint服务器端类)。
  • 如果 1) 不正确,我可以创建自定义 WebPart以某种方式使用 SharePoint 文档库,使其具有原生文档库的感觉,但仍允许我使用 SPDocumentLibrary访问该 Web 部件时的派生类(请再次注意,我所有的讨论都围绕 SharePoint 服务器端,即我的代码在 SharePoint 的地址空间/w3wp 进程内执行)。
  • 为什么我们在 SPSite.EffectiveBasePermissions 中有逻辑一点也不。我的意思是它应该是 CSOM,它应该只负责对服务器返回/发送的内容进行序列化/反序列化。但是,我在这个被覆盖的属性中看到了围绕权限推导的复杂逻辑。
  • 如果 1) 和 2) 都是无操作(字面意思是 :)),在 SharePoint 基于这些权限采取任何操作之前,我是否可以在 SharePoint 的地址空间中操作时操纵 SharePoint 有效权限。

  • 我知道这是一个很长的问题,但希望我的研究做得很好。

    最佳答案

    我认为您在 SharePoint 中没有那种级别的控制。

    不确定您是否查看过 SharePoint 事件选项。您可以将逻辑添加为 SharePoint 事件,而不是创建自己的类来添加逻辑。您可以订阅相关事件并相应地添加逻辑。例如,您可以根据自定义逻辑取消更新。但是,我认为您不能自定义基本权限逻辑。

    SPList 有一个方法“CheckPermissions”,该方法又调用基类 (SPSecurableObject) 的“CheckPermissions”。但是,我怀疑是否有可能创建自己的子类,覆盖相关方法并接管权限逻辑。它是 SharePoint 非常核心的东西,我认为它不应该被定制。

    关于sharepoint - 连接到 SharePoint 服务器端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46856926/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com