問題タブ [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.
asp.net-mvc-2 - ASP.NET MVC 2 エリア機能をサポートする MVC サイトマップ プロバイダーはありますか?
コントローラーとアクションとともに、領域も指定できる MVC SiteMap プロバイダーを探しています。MVC 2 Areas をサポートする SiteMap プロバイダーを使用した人はいますか?
asp.net-mvc - ASP.NET MVC 2 認証されていないユーザーのみを承認する
認証されていないユーザーのみを承認する方法を見つけようとしています。サイト マップにサインイン タブが表示されており、ユーザーがまだログインしていない場合にのみ表示されるようにしたいと考えています。
c# - 役割ごとに異なる siteMapNode を返す
私は自分のものを使用していますが、SiteMapProvider
これは継承され、少し書き直されていSystem.Web.XmlSiteMapProvider
ます。
siteMapNode
私はクライアントとマネージャーのために異なるものを返したいです。または、同じかもしれませんが、プロパティが異なりTitle
ます。
出来ますか?はいの場合、どうすればそれを行うことができますか?
asp.net - XmlSiteMapProviderは、ユーザーが指定されたロールにあることをどのようにチェックしますか?
を継承して自分のSiteMapProviderをロールしSystem.Web.XmlSiteMapProvider
ます。
ユーザーがsiteMapNodeのプロパティで指定されたロールにあることを確認するロジックをオーバーライドしたいroles
:
どうやってやるの?XmlSiteMapProviderは、どのクラスのメンバーを呼び出してそれをチェックしsecurityTrimmingEnabled="true"
ますか?
asp.net - IPrincipal はどのように役割を取得しますか?
仕組みを知る必要がありますSiteMapProvider.IsAccessibleToUser()
。
フォーム認証の場合に使用する組み込みXmlSiteMapProvider
呼び出し。HttpContext.User.IsInRole()
System.Security.Principal.GenericPrincipal
現在のユーザーはどこで役割を取得しますか? この種の情報をロードするプロバイダーはどれですか? オーバーロードしてカスタム ロジックを使用したい。
asp.net - securityTrimmingEnabled = trueを使用して、ページが開くのをブロックすることは可能ですか?
正しく連携するカスタムSiteMapProviderとRoleProviderがあります。要求されたページに現在のユーザーの役割が記載されていない場合IsAccessibleToUser
に返されます。false
SiteMapNode.Roles
そのため、パンくずリストやメニューにはアイテムが表示されません。
ただし、ユーザーは表示されたURLを直接入力して、ページを開くことができます。どうすればそのような動作をブロックできますか?
また、次のWeb.config設定があります。
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 がどこから来ているのかを突き止めようとしましたが、見つからないようです。
アイデアや提案はありますか?
asp.net - カスタムsitemapproviderの特定のクエリ文字列パラメータを無視する
動的サイトマップを作成する独自のstaticsitemapproviderを作成しました。私が抱えている問題は、ページのクエリ文字列に無視する必要のある追加のパラメータが含まれる場合があることです。
また、HttpContectオブジェクトを取り込むFindSiteMapNode関数をオーバーライドしました。これを使用して、そのリクエストのURLを簡単に見つけて、上記と同じ関数で実行します。
ただし、これを使用すると、(サイトマップにバインドされている)私のサイトマップパスはすべてのページで何も返しません。
asp.net - SiteMap は SiteMapProvider を変更しますか?
web.sitemap ファイルから構築されたカスタム メニュー ナビゲーションがあります。この最初の行は次のようになります。
これはうまくいきます - web.sitemap ファイルからすべての最上位ノードを取得し、各 SiteMapNode を調べて何かをすることができます。
ただし、複数の web.sitemap ファイルを作成し、使用する web.sitemap ファイルをプログラムで決定できるようにしたいのですが、これを行う方法がわかりません。ロードする web.sitemap ファイルを決定するロジックを実行できるカスタム SiteMapProvider を 1 つ作成するか、複数のプロバイダーを用意して、それぞれの SiteMapFile プロパティを特定の *.sitemap ファイルに設定してから切り替えることができると想定しています。 SiteMap.RootNode にアクセスする前に、プロバイダーをプログラムで変更します。
カスタム プロバイダーを 1 つ用意して、実際の物理的なサイトマップ ファイルの場所を検索する部分をオーバーライドする方がおそらく簡単だと思いますが、これをどのように行うかは不明です
私はたくさんグーグルで検索しましたが、ほとんどの回答は標準のサイトマップパスコントロールなどに関するもので、SiteMapDataSource の設定方法に関するもので、私のアプローチには関係ないと思います。