問題タブ [securitytrimmingenabled]
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 - XmlSiteMapProviderは、ユーザーが指定されたロールにあることをどのようにチェックしますか?
を継承して自分のSiteMapProviderをロールしSystem.Web.XmlSiteMapProvider
ます。
ユーザーがsiteMapNodeのプロパティで指定されたロールにあることを確認するロジックをオーバーライドしたいroles
:
どうやってやるの?XmlSiteMapProviderは、どのクラスのメンバーを呼び出してそれをチェックしsecurityTrimmingEnabled="true"
ますか?
asp.net - securityTrimmingEnabled = trueを使用して、ページが開くのをブロックすることは可能ですか?
正しく連携するカスタムSiteMapProviderとRoleProviderがあります。要求されたページに現在のユーザーの役割が記載されていない場合IsAccessibleToUser
に返されます。false
SiteMapNode.Roles
そのため、パンくずリストやメニューにはアイテムが表示されません。
ただし、ユーザーは表示されたURLを直接入力して、ページを開くことができます。どうすればそのような動作をブロックできますか?
また、次のWeb.config設定があります。
asp.net - 役割ベースのメニューが機能しません。何が間違っていますか?
概要はこちら
- メンバーシップを作成する
- ロールを作成する
- サイトマップの作成 (roles="admin" を使用するように変更)
- メニュー スマート タグの新しいデータソースを使用して、メニューを作成し、web.sitemap をメニューにバインドします。
- web.config を変更して securityTrimmingEnabled を有効にします
それはこのように動作します。サイトマップのルート ノードにロールを割り当てると、割り当てられているロールを除く他のすべてのロールに対してメニューが正しく非表示になります。
サブメニューの 1 つで役割を使用すると、機能しません。誰かが理由を知っていますか?
web.サイトマップ
web.config ファイル (変更)
asp.net - asp.netSiteMapのSecurityTrimming
私は私のサイトで奇妙な問題に直面しています、私は私が扱っているメニューを持っています、asp:menu
そして今私はに基づいSiteMap
て制限したいので、私はweb.configで使用しています、今私の問題は私が有効にする必要があるいくつかのメニュー項目を持っていることです2種類のユーザー(管理者とログインユーザー)によって、ファイルに作成され、メニューで使用されます。ここに、メニューにアクセスできるユーザーの種類を指定する属性を追加しました。ホームメニューがあります。これらの2人のユーザーのみがアクセスする必要があり、他のユーザーはアクセスできません(つまり、匿名ではありません)。属性で複数の役割を指定する方法が見つかりません。指定も試みましたが、匿名以外のユーザーでも機能するようです。私の要件ではありません、これが私のサンプルですmenu's
roles
securityTrimmingEnable="true"
Web.Sitemap
siteMapNode
roles
roles
*
web.sitemap
ファイル
上記の場合、ホームメニューは管理者のみが利用できます。これで、管理者ではないがログインしているユーザーが利用できるように指定*
すると、ログインしていないユーザーでも機能します。
とにかく、管理者とログインしているユーザーだけが上記のメニューを利用できるようにすることはできますか?
以下は私のweb.config設定です:
clickable - MVCSiteMapProvider: セキュリティ トリミングが有効なクリック不可のノード
私はMVCSiteMapProvider、v4.6.1を使用しています
これは私の問題です。管理者だけに表示されるメニューのセクションがあります。これを実現するには、セキュリティ トリミングを有効にし、コントローラーやコントローラー メソッドをデコレートしてトリミング基準を定義します。
管理タスク
- 追加
- 編集
- 削除する
私がする必要があるのは、「AdminTasks」ノードをクリックできないようにすることですが、それでも管理者だけに表示されます。
私が観察している動作はclickable="false"
、サイトマップのように「AdminTasks」をマークすると、ユーザーが管理者であるかどうかに関係なく、すべての人にノードが表示されるということです。マークされたノードclickable='false'
では、セキュリティ トリミングが実行されていないようです。
コードを詳しく調べることなく、ノードが とマークされている場合clickable='false'
、SiteMapProvider はルートを解決しようとしないと思います (ナビゲーション目的では必要ないため)。ただし、そうすると、コントローラーの装飾が検査されないため、セキュリティ トリミングがスキップされます。
私の仮定は正しいですか?セキュリティがトリミングされたまま、クリックできないノードを作成する方法はありますか?
ありがとう