调用 SPS Single Sign-on 失败。返回的错误代码为“-2140995585”。.

场景一:

原先使用Webpart时使用此语句无任何错语,而改成使用aspx页面代码里面在使用Credentials.SetCredentials(1, this.AppID, asCredData);添加单点登录凭证时,老是提示:
调用 SPS Single Sign-on 失败。返回的错误代码为“-2140995585”。.

查询了服务器应用程序日志错误,提示为:
Microsoft Single Sign-on Service (SSOSrv) 未能检索用户 ****、企业应用程序定义 *****的凭据。返回的错误为 0x80630490。有关详细信息,请参阅 Microsoft SharePoint 产品和技术软件开发工具包(SDK)。

费了好大的气力,查阅了好些资料,看到需要在aspx.cs代码里添加以下代码:

protected override void OnInit(EventArgs e)
{
        base.OnInit(e);
        SSOCanaryChecker.AddCanary(Page);

}

问题终于搞定。

场景二:

1.前些天做好的单点登录程序今天来打开时又出现了问题,服务器应用程序日志提示为:
Microsoft Single Sign-on Service (SSOSrv) 未能检索用户 FJMSA/IUSR_*******、企业应用程序定义 ******的凭据。返回的错误为 0x80630001.

2.通过SSO的凭证查询,可以确定在在管理中心 > 操作 > 管理单一登录 > 管理企业应用程序定义的帐户信息的添加凭已经成功.但是在界面上调用Credentials.GetCredentials(1, this.AppID, ref asCredData)方法时就失败无法得到用户凭据.

3.观察应用程序日志,发现未能检索用户:FJMSA/IUSR_*******,仔细分析了下,觉得不应是IUSER的账户,应该是FJMSA/*******(******为登录名)才对.所以断言,如果我在管理企业应用程序的账户信息里把FJMSA/IUSER_******加入用户凭据的话,则可以单点登录程序可以运行.果真如些.

所以问题已经发现:我的程序获取的不是登录SPS门户的用户,而是以IIS的IUSER_******账户与后台进行操作.

解决方法:

找到应用程序虚拟目录,右击属性-->目录安全性-->编辑,把启用匿名账户 的复选框去掉.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值