r_h*_*ney 5 sharepoint sharepoint-2010 sharepoint-2013 sharepoint-online sharepoint-2016
请注意我说的是将我的代码注入SharePoint服务器端(通过包/加载项等),而不是使用Microsoft.SharePoint.dll或通过Web服务访问SharePoint.
所以我的问题是,我需要自定义文档库的工作方式,包括自定义权限管理.我一直在浏览Microsoft.SharePoint.dll分析其工作的内部情况.以下是我的观察:
SPDocumentLibrary提供管理文档库的核心逻辑.但是,它WebPart本身并不是一个.ListViewWebPart或派生类处理.SPPictureLibrary类使我假设可以继承SPDocumentLibrary类以在Document库上提供自定义行为.WebPartAdder.SiteWebPartGalleryProvider在某种程度上连接SPDocumentLibrary到其WebPart内部Microsoft.SharePoint.WebPartPages.WebPartAdder.AddSources方法.现在所有这些都是客户端,这一切都不会发生在SharePoint服务器本身(afaik)上.但是我在SPSecurableObject那个SPDocumentLibrary/ SPList覆盖上看到了可覆盖的方法,具体来说:
CheckPermissionsGetUserEffectivePermissionInfoGetUserEffectivePermissionsEffectiveBasePermissions等我真正想要做的是能够覆盖CheckPermissions/ EffectiveBasePermissions在SPDocumentLibrary内部SharePoint服务器上注入我的自定义逻辑.
我现在将我的研究转移到SharePoint服务器端dll并理解它们.但我希望得到一些关于这是否可行/指向正确方向的专家意见.Microsoft的标志(特别是考虑ASP.NET 2.0/ASP.NET MVC作为基准)是可扩展性/提供者框架.它们为开箱即用的"东西"提供了出色的提供程序,但您可以通过继承/实现某些东西来替换默认提供程序来创建类.所以:
SPDocumentLibrary派生类(服务器端),并将其注入,以便在实例化文档库时,我的类对象被创建(而不是SPDocumentLibrary假设它也是类服务器端.我仍然需要"反映"SharePoint服务器端类).WebPart以使用SharePoint文档库,使其具有本机文档库的感觉,但仍允许我在SPDocumentLibrary访问该Web部件时使用派生类(请再次注意,我所有的讨论都围绕着SharePoint服务器端,即我的代码在SharePoint的地址空间/ w3wp进程中执行.SPSite.EffectiveBasePermissions可言.我的意思是它应该是CSOM,它应该只负责序列化/反序列化由/发送到服务器的内容.但是,我看到这个被覆盖的属性中的精细逻辑围绕着权限推断.我知道这是一个很长的问题,但希望我能很好地完成我的研究.
| 归档时间: |
|
| 查看次数: |
122 次 |
| 最近记录: |