2011-09-02 160 views
1

我的目标是让内部网用户的凭据通过asp.net网页传递到SAP RFC。SAP,IIS和SSO - Kerberos SSPI不可用于此用户帐户

背景
我们在我们的AD系统中安装了SAP SSO。用户可以打开SAP gui并登录,无需输入用户名/密码。

我们使用ERPConnect来调用SAP中的RFC。如果我们向连接字符串提供凭据,它的效果很好。如果网页在我们的本地机器上运行,我们还可以使用以下代码来使用SSO。

Dim db As New SAPContext("ashost=sapsandbox.xxxsap.ad.xxx.com snc_mode=1 sysnr=00 SNC_QOP=9 snc_partnername=p:[email protected] SNC_LIB=C:\windows\system32\gsskrb5.dll") 

当我们移动到运行IIS6的Windows 2003服务器计算机时,出现以下错误。

SAP_CMINIT3 : rc=20 > Connect to SAP gateway failed 
Connect_PM GWHOST=sapsandbox.xxxsap.ad.xxx.com, GWSERV=sapgw00, SYSNR=00 

LOCATION CPIC (TCP/IP) on local host 
ERROR  GSS-API(maj): Miscellaneous Failure 
      GSS-API(min): Kerberos SSPI not usable with this User account 
      STOP! -- initial call to gss_indicate_mechs() failed 
TIME  Fri Sep 02 14:13:47 201 
RELEASE  710 
COMPONENT SNC (Secure Network Communication) 
VERSION  5 
RC   -1 
MODULE  sncxxdl.c 
LINE 

我有我的IIS6网站禁用匿名访问。我也跟着this关于如何在IIS6上启用Kerberos身份验证的文章。

有谁知道如何得到这个工作?如果有一个更简单的方法来实现它,我们可以迁移到IIS7。

编辑
我设置<identity impersonate="true" />,我现在得到一个新的错误。

SAP_CMINIT3 : rc=20 > Connect to SAP gateway failed 
Connect_PM GWHOST=sapsandbox.xxxsap.ad.xxx.com, GWSERV=sapgw00, SYSNR=00 

LOCATION CPIC (TCP/IP) on local host 
ERROR  GSS-API(maj): Miscellaneous Failure 
      GSS-API(min): SSPI::AcqCredHdl(INI)==No credentials available 
      in secur 
      Could't acquire DEFAULT INITIATING credentials 
TIME  Tue Sep 06 11:45:11 201 
RELEASE  710 
COMPONENT SNC (Secure Network Communication) 
VERSION  5 
RC   -4 
MODULE  snc 

编辑
我想我必须有广告设置使用SPN。这是我在this question上看到的。
设置一个SPN在您的应用程序池帐户为您的前端应用

回答