トップナビゲーションバーリンク
-
10-12-2019 - |
質問
SharePoint 2010のトップナビゲーションバーにリンクを選択したユーザー/グループのみに表示させる方法はありますか?私はファンデーションバージョンを実行していますので、私はオプションで制限されています。 SharePoint Serverの公開インフラストラクチャ機能は、このバージョンでは利用できません。
セキュリティトリミングはオプションですか?
任意の助けが高く評価されています。
事前感あり
Steve.c
解決
あなたが言ったようにオーディエンスはあなたが持っているものでは利用できません。箱から出している唯一の実際のオプションは、あなたが言及したセキュリティトリミングです。ナビゲーションに表示される2種類のリンクがあることに注意することが重要です。サブサイトや追加されたページなど、表示されるオブジェクトがあります(それらのオブジェクトを表示するように構成されている場合)、追加された手動リンクがあります。追加されたマニュアルリンクはセキュリティトリミングされず、実際にSharePointはそれがSharePoint項目であるかどうか、または非SharePoint Systemのものであるかどうかを検証するためのURLを評価しません。
他の代替案は、独自のナビゲーションプロバイダとデータソースを作成することです。これにより、SharePointリストまたはXMLファイルを含むどこからでもデータを取得することができます。その後、グループメンバーシップなどをターゲットにしたセキュリティトリミングされているセキュリティトリミングとの関係で行動する方法を正確に制御する方法を追加することができます。
他のヒント
マイクは絶対に正しいです。ナビゲーションの1つの代替案はあなた自身のナビゲーションに頼ることです。私が使用したものは、リストとWebパーツによって駆動されるこのメガメニューでした。ここでそれを見つけてください https://www.nothingbutsharepoint.com/sites/eusp/pages/sharePoint-2010-and-mega-drop-down-menu-navigation.aspx
あなたがする必要があるのは、「列Xに含まれている」のような何かを介して[ME]を介して[ME]を介して[ME]を介して[ME]をフィルタリングしながら、人々/グループの列を追加する必要があるのです。
この古い質問を越えてつまずいた、そして私は知恵のこのTIDBITを提供したい:
プログラムでナビゲーションノードを追加すると(PowerShellまたはC#と同じ)、セキュリティがトリミングされます。ナビゲーションはUIを介して手動で追加されていますが、そうではありません。
PowerShellを使用してノードを追加する方法を示す記事は次のとおりです。 SharePoint 2010:セキュリティトリミングナビゲーション
基本コードは次のようになります。
using (SPSite site = new SPSite("http://theurl/tothesite"))
{
SPNavigationNodeCollection nodes = site.RootWeb.Navigation.TopNavigationBar;
nodes.AddAsLast(new SPNavigationNode("Title", "/siterelative/url"));
}
.
またはPowerShell:
$web = Get-SPWeb "http://theurl/totheweb"
$nav = $web.Navigation.TopNavigationBar
$newLink = New-Object Microsoft.SharePoint.Navigation.SPNavigationNode -ArgumentList @("Title", "/siterelative/url")
$nav.AddAsLast($newLink)
$web.Dispose()
.
これが誰かが道路を降ろすのに役立ちます。
手動追加の相対URLはセキュリティトリミングされています。