0

内部にpage.aspxがあり、Premiumというロールを作成しました。すべてのユーザーがpage.aspxを表示できるようにしたいのですが、プレミアムユーザーのみがdivを表示できます。

私のweb.condig

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

プレミアムの役割のユーザーだけが見ることができるように、私は今それを書く方法をしていません

4

3 に答える 3

5

最も簡単な方法は、ifステートメントを使用してページのその部分の出力を制御することです。

<% if(User.IsInRole("Premium")) { %>
<div> blah </div>
<% } %>

もちろん、UserControl代わりにこのロジックを含む または類似のものを作成して、ホスト ページから条件式をプッシュし、ページが常にコントロールをレンダリングするようにすることもできます。

于 2013-01-10T08:11:06.327 に答える
0

プレミアム セクションを、コントローラーに独自のメソッドを持つ部分ビューにすることができます。そのためには、ロールPremiumを必要とすることができます。

于 2013-01-10T08:11:30.757 に答える
0

page.aspx で、次の操作を行います。

<%if (Request.IsAuthenticated){ %>
    <%if HttpContext.Current.User.IsInRole("premium"){ %>
        <div>premium content</div>
    <%} %>
<%}%>
于 2013-01-10T08:17:56.613 に答える