SharePoint Web Service的身份验证

  SharePoint内置了一套相对比较完整的WebServices提供给开发者,这样就可以在客户端、跨平台的程序中读取甚至修改SharePoint中的内容。不过当SharePoint网站不允许匿名访问的时候,调用WebServices自然也需要提供身份验证。

  SharePoint身份验证最常用的是Windows验证(WindowsAuthentication)和表单验证(FormAuthentication)两种。

  Windows验证即使用Windows账号或者AD账号来进行身份验证,对于这种验证方式,在SharePointSDK中已经给出了如何提供身份验证的方法,假设我们使用最常用的lists.asmx来获取SharePoint列表数据,添加的Web引用的命名空间是spwsList:

  使用当前帐户身份: 1 spwsList.Lists wsLists = new spwsList.Lists();

  2 wsLists.Credentials = CredentialCache.DefaultCredential;

  3 Console.WriteLine(wsLists.GetListCollection().OuterXml);

  使用指定帐户: 1 spwsList.Lists wsLists = new spwsList.Lists();

  2 wsLists.Credentials = newNetworkCredential(username,password, domain);

  3 Console.WriteLine(wsLists.GetListCollection().OuterXml);

  上面的CredentialCache、NetworkCredential都是在System.Net命名空间下。

  表单认证是SharePoint2007新加入的一种身份认证方式,其后台是使用.NetFramework中的Membership机制进行用户身份的识别,对于外网来说,大都是使用表单认证的方式来实现的。在使用表单认证的SharePoint网站中通过WebService获取数据稍微麻烦一些,不过也可以通过SharePoint提供的表单认证WebService来创建用户身份相关的Cookie。

  表单认证WebService的地址是:http://[server]/[site]/_vti_bin/authentication.asmx

  在使用WebService的程序中再次加入上面这个Web引用,假设其命名空间是spwsAuth,那么使用表单认证构造身份并访问数据的代码实例如下:

  1 spwsAuth.Authentication auth =newspwsAuth.Authentication();

  2 auth.CookieContainer = new CookieContainer();

  3 auth.AllowAutoRedirect = true;

  4 spwsAuth.LoginResult lr =auth.Login(username,password);

  5 if (lr.ErrorCode == spwsAuth.LoginErrorCode.NoError)

  6 {

  7 spwsList.Lists wsList = new spwsList.Lists();

  8 wsList.CookieContainer = auth.CookieContainer;

  9 XmlNode res = wsList.GetListCollection();

  10 Console.WriteLine(res.OuterXml);

  11 }

转载于:https://www.cnblogs.com/IsNull/archive/2010/04/12/1710677.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SharePoint 2010 中设置基于表单的身份验证 (FBA) 时,我发现自己真的对不断修改配置文件厌烦了。与以前版本相比,现在需要做更多的工作,因为现在我们需要修改一个附加的 web.config 文件 - 针对 STS。如果您不小心输错了 web.config 更改的某一任意部分,则它还是一个时常发生的麻烦。因此,不要继续抱怨它,我编写了这个小工具来帮助您管理它。您应该通读附加到本文的 zip 中包括的完整 HowToUseIt.txt 文件,但它主要允许您为成员资格提供程序、角色提供程序、通配符搜索和连接字符串创建条目,并将它推出到您的服务器场中的所有服务器。您也可以从 Web 应用程序读入配置设置并修改它们,然后将它重新推出到同一服务器,或将它用作全新服务器的设置基础。为帮助您入门,我还提供了几个成员资格示例和角色提供程序配置条目。只需选择下拉列表示例,然后选取您要为其创建条目的项目。修改该条目以符合您的环境,将 Url 提供给应在其中进行配置更改的 Web 应用程序,然后单击“应用配置”按钮。在此之下,它创建一个在每个 Web 前端上运行并使用适当条目修改相应 web.config 文件的自定义 SharePoint 计时器作业。该计时器作业是附件中包括的解决方案 (wsp) 的一部分 - 确保在执行任何其他操作之前首先将它部署到服务器场。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值