我的目標是讓內部網用戶的憑據通過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在您的應用程序池帳戶爲您的前端應用