SharePoint で、セキュリティによるトリミングのスニペットを追加する
セキュリティによるトリミングのスニペットを使用することにより、ユーザーの持っている特定のアクセス許可、あるいはユーザーが承認されているか、または匿名であるかに基づいて、特定のユーザーに対してのみコンテンツを表示できます。
セキュリティによるトリミングのスニペットの概要
セキュリティによるトリミングのスニペットを使用することにより、ユーザーの持っている特定のアクセス許可、あるいはユーザーが承認されているか、または匿名であるかに基づいて、特定のユーザーに対してのみコンテンツを表示できます。 マスター ページまたはページ レイアウトに、セキュリティ トリミング パネルを追加できます。 Security Trim パネルは、静的コンテンツに加えて、Web パーツなどの他のコンポーネントやスニペットを含めることができるコンテナーです。
たとえば、セキュリティ トリミング パネルを使用して、以下のコンテンツを特定のユーザーに表示することができます。
認証されたユーザーが現在作業しているドキュメントを示す、検索 Web パーツによるコンテンツ。
認証されたユーザーがサイトで新しくなった内容を確認できる、最近変更されたドキュメントのリスト ビュー。
認証されていない訪問者に現在の記事に基づいて推奨されるリンクの一覧を表示する Content by Search Web パーツ。 このような推奨項目のリストはサイトで作業している認証されたコンテンツ作成者にとっては邪魔かもしれませんが、認証されていない訪問者にとっては重要です。
認証されていないユーザーや、まだ認証されていないユーザーのためのリボンから切り離されたサインイン リンク。
注:
このサインイン リンクは、デザイン マネージャーを使用して作成されたマスター ページに自動的に挿入されますが、必要なければ削除してもかまいません。
セキュリティ トリミング パネルには、認証用とアクセス許可 (または承認用) の 2 つの重要なプロパティ設定があります。 たとえば、セキュリティ トリミング パネルを使用して、以下のコンテンツを特定のユーザーに表示することができます。
AuthenticationRestrictions このプロパティを使用すると、パネルを、認証されたユーザーや匿名ユーザーに限定することも、すべてのユーザー (既定の設定はすべてのユーザー) を選択することもできます。
Permissions このプロパティを使用すると、パネルでコンテンツを表示するためにユーザーに必要な特定のアクセス許可を選択できます。
注:
アクセス許可レベルではなく、個々のアクセス許可を選択します (アクセス許可レベルとは、付与されたアクセス許可のセットです)。 (アクセス許可レベルは、付与されたアクセス許可のセットです)。
もちろん、匿名ユーザーのみに認証を制限する場合は、通常、匿名ユーザーに SharePoint アクセス許可が付与されていないため、特定のアクセス許可を指定する必要はありません。 アクセス権限は、すべてのユーザーまたはすべての認証されたユーザーでのみ使用するのが適切です。
表 1 の左側の列に表示しているように、セキュリティ トリミング パネルには 3 つのオプションがあります。 表 1 は、これらの設定によって、ユーザーに必要な特定のアクセス許可、その特定のアクセス許可を含む最も低い既定のアクセス許可レベル、および既定でそのアクセス許可レベルにリンクされているグループを決定する方法を示しています。
注:
これらは既定の設定であり、サイト コレクション、サイト、リスト、またはアイテムなど任意の範囲で変更できます。
たとえば、セキュリティ トリミング パネルを [ 作成者に表示] に設定した場合、デフォルトでは、メンバー グループと所有者グループのユーザーがこのパネル内のコンテンツを表示できます。
表 1. パネル オプションを既定のアクセス許可レベルとグループにマッピングする
セキュリティ トリミング パネル オプション | アクセス許可のプロパティ | アクセス許可 | アクセス許可レベル | グループ |
---|---|---|---|---|
作成者に表示 | AddAndCustomizePages | ページの追加とカスタマイズ | 投稿 (またはそれ以上) | Members |
認証されたユーザーに表示 | ViewPages | ページの表示 | 読み取り (またはそれ以上) | 閲覧者 |
管理者に表示 | FullMask | すべて選択 | フル コントロール | Owners |
セキュリティ トリミング パネルの挿入
すべてのスニペットと同様に、セキュリティによるトリミングのスニペットはスニペット ギャラリーから追加します。 スニペット ギャラリーに移動するにはまず、編集するマスター ページまたはページ レイアウトを選択する必要があります。
セキュリティ トリミング パネルを挿入するには
発行サイトに移動します。
ページの右上隅で、歯車の形の [設定] アイコンをクリックし、[ デザイン マネージャー] をクリックします。
デザイン マネージャーの左のナビゲーション ウィンドウで、編集しているファイルの種類によって、[ マスター ページの編集] または [ ページ レイアウトの編集] をクリックします。
スニペットを追加するマスター ページまたはページ レイアウトの名前を選択します。
スニペット ギャラリーを開くには、サーバー側プレビューの右上隅で、[ スニペット] をクリックします。
リボンの [ 設計] タブで、[ セキュリティ トリミング] を選択します。
オプションとして、[ セキュリティ トリミング] ボタンのドロップダウン リストで、パネルのコンテンツを閲覧できるユーザーを選択したり、パネルの重要なプロパティ値を設定することでより多くのオプションを表示したりすることもできます。
スニペット ギャラリーの右側の [ このコンポーネントについて] の下で、セクション ヘッダーをクリックまたは選択して、プロパティのグループを展開するか、折りたたむかして、必要なカスタム設定を構成します。
プロパティを構成した後、[ 更新] をクリックします。 これによって、ページの左側の HTML スニペットが更新され、マークアップにカスタム設定が反映されます。 いつでも [リセット] をクリックして、すべてのプロパティを既定の設定に戻すことができます。
スニペット ギャラリーの左側で、[ HTML スニペット] の下の [ クリップボードにコピー] をクリックします。
HTML エディターで、コンピューター上のマップされたネットワーク ドライブを開き、スニペットを追加するマスター ページまたはページ レイアウトの HTML ファイルを開きます。
HTML ファイルの中の、マークアップを表示する場所にスニペットを貼り付けます。
ページ レイアウトにスニペットを追加している場合は、 PlaceHolderMain の内部にスニペットを貼り付けてください。
class="DefaultContentBlock"
の<div>
を独自のコンテンツに置き換えます。ページを保存し、デザイン マネージャーでサーバー側のプレビューを更新して、セキュリティ トリミング パネルが意図したとおりに表示されることを確認します。
スニペット マークアップの理解
セキュリティによるトリミングのスニペットで最も重要な部分は、 AuthenticationRestrictions プロパティと、 Permissions プロパティと、以下に示す太字の <div>
です。 AuthenticationRestrictions は、既定値である AllUsers から別の値に変更した場合にのみマークアップに表示されます。 スニペット ギャラリーでスニペットに対して [ リセット] を選択すると、 AuthenticationRestrictions がマークアップから削除され、スニペットは既定値である AllUsers を使用するようになります。
class="DefaultContentBlock"
である <div>
は、独自のコンテンツに置き換える部分であり、他のスニペットおよびコントロールを含むことができます。
<div data-name="SecurityTrimmedAuthors">
<!--CS: Start Security Trim Snippet-->
<!--SPM:<%@Register Tagprefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"%>-->
<!--MS:<SharePoint:SPSecurityTrimmedControl runat="server" AuthenticationRestrictions="AuthenticatedUsersOnly" Permissions="AddAndCustomizePages" PermissionContext="RootSite">-->
<!--PS: Start of READ-ONLY PREVIEW (do not modify)--><span><!--PE: End of READ-ONLY PREVIEW-->
<div class="DefaultContentBlock" style="border:medium black solid; background:yellow; color:black; margin:20px; padding:10px;">
You should replace this div with content that renders based on your Security Trim Properties.
</div>
<!--PS: Start of READ-ONLY PREVIEW (do not modify)--></span><!--PE: End of READ-ONLY PREVIEW-->
<!--ME:</SharePoint:SPSecurityTrimmedControl>-->
<!--CE: End Security Trim Snippet-->
</div>