场景一:
原先使用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_******账户与后台进行操作.
解决方法:
找到应用程序虚拟目录,右击属性-->目录安全性-->编辑,把启用匿名账户 的复选框去掉.
发表于 @ 2007年05月14日 16:57:00 | |
|