我的目标是让内部网用户的凭据通过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在您的应用程序池帐户为您的前端应用