1

こんにちは、DLL としてコンパイルされ、SP サイトの BIN フォルダーに配置される SharePoint Web パーツがあります。私の Web パーツはローカル マシンで動作しますが、本番環境に配置すると失敗し、

(401) Unauthorized.

いくつかの調査を行った後、「ワンホップルール」として知られているものに出会いました。つまり、ネットワークユーザーの資格情報を渡すか、使用する必要があります

<identity impersonate= "true" />

私のweb.configで。ネットワーク ユーザーをハードコーディングしたくないので、Web パーツで偽装を使用するにはどうすればよいですか? dll は web.configs をサポートしていますか? 助けてくれてありがとう。

4

5 に答える 5

4

おそらくCASが原因で、Webパーツが本番環境で失敗します。アセンブリは bin フォルダーにあるため完全には信頼されていないため、アクセス許可レベルを上げるか、アセンブリに付与する特別なアクセスを追加する必要がある場合があります。

偽装の問題だと確信している場合は、web.config でノードを使用することはできませんか?

于 2009-03-17T13:52:59.453 に答える
2

SharePointアプリケーションのweb.configではImpersonateが常にtrueに設定されているため、問題は別の場所にある必要があります。WebアプリケーションのBINフォルダーにデプロイされたWebパーツは、サンドボックスで実行され、デフォルトでは、アクセス許可が制限されています。おそらくそれが問題の原因です。

于 2009-03-17T14:04:29.393 に答える
1

はい、チューダーが述べたように、おそらくコード アクセス セキュリティです。GAC に入れれば、この問題は発生しません (GAC は完全に信頼されています)。

CAS と SharePoint Web パーツに役立ついくつかの記事を次に示します。秘訣は、必要な IPermissions を知ることです。

于 2009-03-17T19:16:39.393 に答える
0

「ダブルホップ」の問題を見ている場合は、NTLM を使用しません。Kerberos チケットはユーザーから Web サーバー、Web サービスにホップできるため、Kerberos 認証を使用する必要があります。SetSPN でサービス プリンシパル名を設定する必要があります。

この Web パーツは外部 Web サービスを呼び出していますか? または、アクセス許可エラーはローカル セキュリティに基づいていますか?

于 2009-03-17T19:19:45.393 に答える
0

それをDLLに追加する方法はないと思います。とにかく私の知る限り。

于 2009-03-17T13:46:11.733 に答える