1

Webフォームでは、特定のユーザーがパスにアクセスできない場合、パスは非表示になります。これはMvcSiteMapで行うことができますか?

https://github.com/maartenba/MvcSiteMapProvider

Webforms で行う必要があるのは、

  <location path="SomePath">
    <system.web>
      <authorization>
        <allow roles="SomeRole" />
        <deny users="*" />
      </authorization>
    </system.web>
  </location>

SomeRole に属していない場合、メニュー項目は非表示になりますが、MvcSiteMap で可能ですか?

4

2 に答える 2

0

これが古い投稿であることは承知していますが、他の誰かがそれに遭遇した場合に備えて、ノードを登録する mvc.sitemap ファイルに roles 属性を追加することで、探しているものを明示的に達成できます。役割に属していない人は、その属性を持つノードを見ることができません。

<mvcSiteMapNode title="TheMenuOption" clickable="false"  roles="someRole">
于 2015-11-05T08:44:44.483 に答える
0

ASP.NET で承認を定義するための推奨される方法は、AuthorizeAttributeを使用することです。

が有効になっている場合、 はMvcSiteMapProviderAuthorizeAttributeによって完全にサポートされsecurityTrimmingます。プロバイダーの登録を参照してください。

于 2012-06-14T13:29:42.460 に答える