問題タブ [sitemapprovider]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1790 参照

asp.net-mvc-2 - ASP.NET MVC 2 エリア機能をサポートする MVC サイトマップ プロバイダーはありますか?

コントローラーとアクションとともに、領域も指定できる MVC SiteMap プロバイダーを探しています。MVC 2 Areas をサポートする SiteMap プロバイダーを使用した人はいますか?

0 投票する
1 に答える
751 参照

asp.net-mvc - ASP.NET MVC 2 認証されていないユーザーのみを承認する

認証されていないユーザーのみを承認する方法を見つけようとしています。サイト マップにサインイン タブが表示されており、ユーザーがまだログインしていない場合にのみ表示されるようにしたいと考えています。

0 投票する
1 に答える
1763 参照

c# - 役割ごとに異なる siteMapNode を返す

私は自分のものを使用していますが、SiteMapProviderこれは継承され、少し書き直されていSystem.Web.XmlSiteMapProviderます。

siteMapNode私はクライアントとマネージャーのために異なるものを返したいです。または、同じかもしれませんが、プロパティが異なりTitleます。

出来ますか?はいの場合、どうすればそれを行うことができますか?

0 投票する
3 に答える
2012 参照

asp.net - XmlSiteMapProviderは、ユーザーが指定されたロールにあることをどのようにチェックしますか?

を継承して自分のSiteMapProviderをロールしSystem.Web.XmlSiteMapProviderます。

ユーザーがsiteMapNodeのプロパティで指定されたロールにあることを確認するロジックをオーバーライドしたいroles

どうやってやるの?XmlSiteMapProviderは、どのクラスのメンバーを呼び出してそれをチェックしsecurityTrimmingEnabled="true"ますか?

0 投票する
2 に答える
9960 参照

asp.net - IPrincipal はどのように役割を取得しますか?

仕組みを知る必要がありますSiteMapProvider.IsAccessibleToUser()

フォーム認証の場合に使用する組み込みXmlSiteMapProvider呼び出し。HttpContext.User.IsInRole()System.Security.Principal.GenericPrincipal

現在のユーザーはどこで役割を取得しますか? この種の情報をロードするプロバイダーはどれですか? オーバーロードしてカスタム ロジックを使用したい。

0 投票する
1 に答える
154 参照

asp.net - securityTrimmingEnabled = trueを使用して、ページが開くのをブロックすることは可能ですか?

正しく連携するカスタムSiteMapProviderとRoleProviderがあります。要求されたページに現在のユーザーの役割が記載されていない場合IsAccessibleToUserに返されます。falseSiteMapNode.Roles

そのため、パンくずリストやメニューにはアイテムが表示されません。

ただし、ユーザーは表示されたURLを直接入力して、ページを開くことができます。どうすればそのような動作をブロックできますか?

また、次のWeb.config設定があります。

0 投票する
1 に答える
547 参照

asp.net - ASP.NET サイト マップ URL ドメインの構成

私はそのように構成されたサイトマップを持っています:

次のようなカスタム ブレッドクラム関数があります。

何らかの理由で、サイトマップで URL が「www.website.com/index.aspx」または「home.aspx」として定義されていても、currentNode.URL には常に URL にドメインが関連付けられているため、次のような不適切な URL が作成されます。 "www.domain.com/www.website.com/index.aspx"

プロジェクトと web.config ファイル内を検索して、www.domain.com がどこから来ているのかを突き止めようとしましたが、見つからないようです。

アイデアや提案はありますか?

0 投票する
1 に答える
550 参照

asp.net - カスタムsitemapproviderの特定のクエリ文字列パラメータを無視する

動的サイトマップを作成する独自のstaticsitemapproviderを作成しました。私が抱えている問題は、ページのクエリ文字列に無視する必要のある追加のパラメータが含まれる場合があることです。

また、HttpContectオブジェクトを取り込むFindSiteMapNode関数をオーバーライドしました。これを使用して、そのリクエストのURLを簡単に見つけて、上記と同じ関数で実行します。

ただし、これを使用すると、(サイトマップにバインドされている)私のサイトマップパスはすべてのページで何も返しません。

0 投票する
2 に答える
10262 参照

asp.net - SiteMap は SiteMapProvider を変更しますか?

web.sitemap ファイルから構築されたカスタム メニュー ナビゲーションがあります。この最初の行は次のようになります。

これはうまくいきます - web.sitemap ファイルからすべての最上位ノードを取得し、各 SiteMapNode を調べて何かをすることができます。

ただし、複数の web.sitemap ファイルを作成し、使用する web.sitemap ファイルをプログラムで決定できるようにしたいのですが、これを行う方法がわかりません。ロードする web.sitemap ファイルを決定するロジックを実行できるカスタム SiteMapProvider を 1 つ作成するか、複数のプロバイダーを用意して、それぞれの SiteMapFile プロパティを特定の *.sitemap ファイルに設定してから切り替えることができると想定しています。 SiteMap.RootNode にアクセスする前に、プロバイダーをプログラムで変更します。

カスタム プロバイダーを 1 つ用意して、実際の物理的なサイトマップ ファイルの場所を検索する部分をオーバーライドする方がおそらく簡単だと思いますが、これをどのように行うかは不明です

私はたくさんグーグルで検索しましたが、ほとんどの回答は標準のサイトマップパスコントロールなどに関するもので、SiteMapDataSource の設定方法に関するもので、私のアプローチには関係ないと思います。