我正在尝试为Sharepoint 2007开发一个Gadget,它将对用户进行身份验证,然后从特定的URL中获取一个sharepoint列表,
在过去的4天里,我一直在研究它,并遇到了不同的制作方法,但因为解决方案要么完成了一半,要么无法工作,要么太混乱,无法获得帮助或转换成我想要的东西。
因为Windows Gadget使用Scripting + HTML所以我有以下选项可以继续使用来制作这个小工具,
Gmail Gadget Using JavaScript to Read Visual studio Dll
Using jQuery to fetch List Data
我最喜欢的解决方案是使用SOAP或REST以及webservices,我想使用SOAP来获取Sharepoint List数据并同时验证我的用户,我发现有数百个关于此的教程,但不是实际上使用JavaScript / HTML进行身份验证或告诉它如何在小工具中工作
我发现在网上的小工具很少与我需要的东西有关,他们要么不工作,要么无法改变我想要的东西。
欢呼阅读本文我希望你要么增加你的知识,要么分享它:)
修改 * 我的意思是使用Sharepoint MOSS“SPLIST”或“SPWEB”作为客户端对象模型,因为我使用Moss我不能使用客户端对象模型身份验证:(。真的很抱歉错误的信息 *
答案 0 :(得分:1)
如果你能负担得起使用你的小工具的COM组件,第一种方法是可行的。您将逻辑包装在CCW .NET类的外观中(使用.NET SP Client OM)并通过regasm将其注册到COM。所有纯.NET,您的类将被声明(和写入)COM兼容。
您可能会发现第二种方法过于局限; SP ClOM支持SP WSs的更多功能。抛出jQuery不会改变它。 (不幸的是,SP JS ClOM只能在SP页面上使用;不能在小工具中使用。)
如果你采取痛苦的方式(JS ;-) IWA应该给你(Windows)SSO身份验证。如果从DLL调用SP ClOM,则可以重用当前用户(SSO)的Windows会话令牌,或者如果用户希望的话,可以通过您的表单明确进行身份验证。 (您可以使用与Windows不同的用户身份登录SP UI。)Both is supported。
我首先尝试使用DLL方法。
更新:哎呀,你是SP 2007,不是2010年 - 没有SP ClOM。我应该早些时候注意到,抱歉......你仍然可以创建一个可以通过WS与SP对话的.NET DLL。您仍然可以将DefaultNetworkCredentials
设置为HttpWebRequest.Credentials
(REST)或WS客户端类(SOAP)的.Credentials
以获得SSO身份验证。或者使用名称和密码创建自己的NetworkCredential
。
---费达
答案 1 :(得分:1)
您正在用户PC上安装它,因此您无法使用标准SharePoint API(Microsoft.SharePoint.dll)
您正在使用2007,因此您无法使用“客户端对象模型”(托管/ silverlight或EMCA脚本)
离开
a)SharePoint Web服务(JavaScript或JQuery仍然是JavaScript)。
这意味着您的小工具将通过与浏览您网站的人相同的机制向SharePoint进行身份验证 - 通常是集成Windows身份验证。
首先要做的是优秀的http://spservices.codeplex.com/库,它允许您轻松地从JQuery调用Web服务)。有关如何使用它的提示,请参阅文档。
对于半完成的项目,如何http://sharepointsidebar.codeplex.com/
b)通过在SharePoint服务器上部署dll创建自己的自定义Web服务,然后通过JavaScript调用这些服务(也许是使用JSON或类似的