2

私はかなり長い間グーグルで検索していましたが、これに対する答えが見つかりませんでした。質問は次のとおりです。

アプリ Web に展開されているリストのユーザー権限を管理することはできますか?

これをホスト Web (親サイト) で実行する可能性はたくさんあります。ここで、任意のユーザーのアクセス許可を定義できます。アプリ Web (SharePoint アプリ ドメイン) では、展開されたすべてのリストに直接アクセスできますが、一部の特定のユーザーにアクセス許可を設定することはできません。さまざまなユーザー グループがあり、アプリ Web に展開されたリストに対してさまざまな権限を付与したいと考えています。どうすればそれを行うことができますか、それとも可能ですか?

そうでない場合、アプリのユーザーが直接アクセスしてデータを変更できる場合、これらのリストは何に使用できますか?

4

4 に答える 4

4

アプリの代わりにアドインという用語を使用します。これは、 Microsoft が現在アドインと呼んでいるものだからです。

開発中に権限を指定する

答えはノーだ。開発中に SharePoint ホスト型アドインのユーザーまたはグループのアクセス許可を指定することはできません。
その理由は単純です。アドイン Web は SharePoint ファームの他の部分から分離されており、ファーム内のどこにでもインストールできます。ユーザーとグループの範囲がサイト コレクション レベルに限定されることを考慮すると、アドインを複数のサイト コレクションにインストールする場合、そのサイト コレクションでどのユーザーとグループを使用できるかを判断する方法はありません。
さらに、アドインを SharePoint ストアに公開する場合、アドインはインストール先の環境を認識しないため、どのユーザーまたはグループがアドインの何にアクセスできるかを判断する方法がありません。ウェブで。

インストール後に権限を指定する

これに対する答えはイエスです。アプリをインストールした後、ホスト Web で行うのと同じように、アドイン Web でリストのアクセス許可とアイテムのアクセス許可を指定できます。
既定では、アドイン Web 自体がホスト Web からアクセス許可を継承するため、アドイン Web 内のすべてのリストはホスト Web からアクセス許可を継承します。そのため、ホスト Web のサイト コレクション管理者またはサイト所有者である必要があり、アドイン Web のリストの継承を解除してアクセス許可を変更できます。

アドインのアクセス許可のヒント

  1. ホスト Web でグループを作成し、それらを使用して、ホスト Web のリストに対して行うのと同じように、アドイン Web のリストにアクセス許可を割り当てることができます。SharePoint グループは、アクセス許可のより優れた管理を提供します。つまり、新しいユーザー/従業員がリストへのアクセス許可を必要とする場合、アドイン Web のリストに直接アクセスするのではなく、サイト コレクションのどこからでもアクセス可能なグループにそのユーザーを追加するだけです。 .

  2. 昇格されたアクセス許可 ( AppOnlySequenceアクティビティを参照) で実行され、 RESTful Web サービス呼び出しを行ってリスト アイテムのアクセス許可を変更する SharePoint 2013 ワークフローを使用して、アドイン Web 上のリスト アイテムのアクセス許可を設定できます。

  3. Visual Studio を使用してアドインを開発およびデバッグ/インストールする場合は、リストのアクセス許可を変更した後にデバッグを停止しないようにしてください。デバッグを停止して再開すると、アドインは新しい一意の ID (つまり、新しいインスタンスがホスト Web にインストールされている場合)、以前に設定したリストのアクセス許可はすべて失われます。
    おそらく、その日の終わりにデバッグを停止し、アドインの新しいインスタンスを作成する翌日にデバッグを再開する必要があることに注意してください。この場合、ホスト Web でアドインを再度信頼する必要があります。そうしないと、アドイン Web でリストのアクセス許可を再度変更しようとすると、アクセスが拒否されます。

  4. リストのアクセス許可を非常に賢く効率的に設定したい場合は、アドイン内にボタン コントロールを含む管理ページを作成し、JSOMを使用して JavaScript コードを記述し、ボタンがクリックされたときにそのページで実行することができます。リストの権限が自動的に設定されます。

  5. 既定では、アドイン Web はホスト Web からすべてのアクセス許可を継承するため、ユーザー (通常はホスト Web で読み取り専用のアクセス許可を持つユーザー) に昇格されたアクセス許可 (たとえば、投稿または詳細) アドイン Web で。賢い人が、それを行うための巧妙な方法についての記事を書きました:

    • jQuery + REST API を使用して、継承を解除し、アクセス許可を設定します。(JSOM は、jQuery および REST API の代替として使用できます)
    • JSOM は、SPWeb オブジェクトのAllPropertiesメンバーを使用してカスタム プロパティを設定し、アドイン Web に権限が設定されていることを指定します。
于 2015-10-19T16:31:47.750 に答える