0

プロバイダーがホストする SharePoint 2013 用アプリのホスト側で、"Unauthorized" 例外を受け取ります。

Uri hostWeb = new Uri(Request.QueryString["SPHostUrl"]);
using (var clientContext = TokenHelper.GetS2SClientContextWithWindowsIdentity(hostWeb, Request.LogonUserIdentity))
{
    clientContext.Load(clientContext.Web, web => web.Title);
    clientContext.ExecuteQuery();
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
}

証明書がインストールされ、Anonymos アクセスが無効になりました。この問題の理由がわかりません。

4

3 に答える 3

2

以前にまったく同じ問題に遭遇しました... OAuthを実装して解決し、「書き込み」権限でアプリのメインページにリダイレクトさせました。Response.Redirect(TokenHelper.GetAuthorizationUrl("mysharepoint.com", "Web.Write", "myapp.com/default.aspx"));

基本的にこれが行うことは、SharePoint サイトでログイン ユーザーを認証し、認証されると、(書き込み権限を使用して) アプリ サイトにリダイレクトすることです。

OAuth の実装方法は次のとおりです: http://msdn.microsoft.com/en-us/library/office/jj687470(v=office.15).aspx

于 2014-08-18T21:19:10.833 に答える
0

まず、「Request.LogonUserIdentity」でユーザーを確認する必要があります。実際、これは、ユーザーが IIS のサイトにアクセスできない場合に発生します。したがって、「Request.LogonUserIdentity」で正しいユーザーを設定するには、次の手順に従います。

IIS を開きます --> 認証 --> 匿名認証 --> 編集 --> 特定のユーザー [「Request.LogonUserIdentity」で取得したユーザー]。--> iisreset

これで、IIS サイトにアクセスする権限がユーザーに与えられました。

于 2013-11-27T06:52:28.187 に答える