私は現在、Share-point 2013 サイトのアクセス許可を管理するのに役立つ C# で開発されたアプリケーションを持っています。最近、ローカル インスタンスが失われ、CAC が適用された IIS の背後にある別のインスタンスに移動している可能性があることを知りました。テスト サイトの 1 つを証明書を要求するように変更し、証明書を IIS サーバーに送信する方法をいくつか試しましたが、それでも
「リモート サーバーからエラーが返されました: (403) Forbidden.
以下は、私が試したいくつかのことです。
var handler = new WebRequestHandler();
handler.ClientCertificateOptions = ClientCertificateOption.Automatic;
handler.ClientCertificates.Add(pki.GetClientCertificate());
handler.UseProxy = false;
using (var client = new HttpClient(handler))
{
context connection code here
}
pki.GetClientCertificateはメソッドであり、この場合は私の cac 証明書を選択した証明書を返すようにしました。SharePoint デザイナーが問題やプロンプトなしで接続するのは面白いです。この問題について何か助けていただければ幸いです。
私が試したことをいくつか追加するだけです
context.Credentials = new SharePointOnlineCredentials(uli.username, uli.password);
uliユーザー名は、ユーザー名に変換された証明書です。変換を行うクラスがあります。パスワードは、安全な文字列に変換された PIN です。資格情報をコンテキストに追加しても、同じメッセージが表示されます。