0

私のオプションは、JQueryを使用して[すべてのサイトコンテンツを表示]リンクを非表示にすることです。

このコードを使用すると、リンクは管理者には非表示になりますが、NT AUTHORITY\authenticated権限を持つ訪問者には非表示になりません。NT AUTHORITY \認証されたユーザーに対しても「すべてのサイトコンテンツを表示」を非表示にするにはどうすればよいですか?

$('#ctl00_PlaceHolderLeftNavBar_PlaceHolderQuickLaunchBottom_PlaceHolderQuickLaunchBottomV4_idNavLinkViewAllV4').hide();

4

1 に答える 1

0

SharePoint 2013

コードを必要としない可能性が 2 つあります。

  • 訪問者グループのアクセス許可レベルを読み取りからに変更します
  • 閲覧者グループの制限付き読み取り代替読み取りアクセス許可レベルを変更し、基本アクセス許可アプリケーション ページの表示を読み取りアクセス許可レベルから削除します。

SharePoint Online

私が思いついたソリューションでは、コントロール SPSecurityTrimmerControl を使用する必要があります。これはアセンブリ Microsoft.SharePoint.WebControls に含まれるコントロールで、内部の子コントロールのセキュリティ トリミングを行います。基本的に、特定のセキュリティ定義を満たさないユーザーからすべてのコンテンツを隠します。

マスター ページを編集モードで開き、サイト コンテンツに関連する MenuItemTemplate を SPSecurityTrimmerControl コントロール内に移動して編集します。

<SharePoint:SPSecurityTrimmedControl 
  runat="server" 
  Permissions="AddListItems" 
  PermissionContext="CurrentItem" 
  PermissionMode="Any"><SharePoint:MenuItemTemplate runat="server" 
    id="MenuItem_ViewAllSiteContents"Text="<%$Resources:wss,quiklnch_allcontent_15%>"Description="<%$Resources:wss,siteactions_allcontentdescription%>"ImageUrl="/_layouts/15/images/allcontent32.png?rev=43"MenuGroupId="200"Sequence="240"UseShortId="true"ClientOnClickNavigateUrl="~siteLayouts/viewlsts.aspx"PermissionsString="ViewFormPages"PermissionMode="Any" />
</SharePoint:SPSecurityTrimmedControl>

PS。このソリューションは、URL によるアクセスを制限しません。

于 2020-02-26T12:34:43.253 に答える