1

私の目標は、イントラネット ユーザーの資格情報が asp.net Web ページを介して SAP RFC に渡されるようにすることです。

背景
AD システムで SAP SSO をセットアップしました。ユーザーは、ユーザー名/パスワードを入力せずに SAP GUI を開いてログインできます。

ERPConnect を使用して、SAP で RFC を呼び出しています。接続文字列に資格情報を提供すると、うまく機能します。Web ページがローカルマシンで実行されている場合は、次のコードを使用して SSO を使用することもできます。

Dim db As New SAPContext("ashost=sapsandbox.xxxsap.ad.xxx.com snc_mode=1 sysnr=00 SNC_QOP=9 snc_partnername=p:SAPUserAccount@xxxSAP.AD.XXX.COM 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 サイトで匿名アクセスを無効にしました。IIS6 で kerberos 認証を有効にする方法については、この記事も参照しました。

これを機能させる方法を知っている人はいますか?IIS7 で動作させるためのより簡単な方法があれば、IIS7 に移行できます。

EDIT
設定<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 を使用するには、AD をセットアップする必要があると思います。これが私がこの質問で見たものです。
フロント エンド アプリケーションのアプリケーション プール アカウントに SPN を設定する

4

1 に答える 1

3

SAP には詳しくありませんが、ここでは SPN に加えて委任が重要です。AD は kerberos チケットを送信するマシンを信頼する必要があります。次の記事を読むことを強くお勧めします。

Kerberos ダブル ホップについて

于 2011-09-06T19:26:38.947 に答える